我对使用 R 很陌生。我已经搜索过这个,但找不到任何指针。
我正在进行群组分析,Month1 下的数据是该特定月份注册的新用户数量。 Month2 是从上个月注册开始的用户数。
我有一组数据如下
Month_Start_Date Month1 Month2 Month3 Month4 Month5 Month6
2010-01-01 10 12 11 9 3 15
2010-02-01 10 9 11 9 3 15
2010-03-01 10 9 7 9 3 15
2010-04-01 10 7 5 6 3 15
2010-05-01 10 8 6 3 4 15
我希望我的数据采用以下格式:
Month_Start_Date Month1 Month2 Month3 Month4 Month5 Month6
2010-01-01 10 0 0 0 0 0
2010-02-01 10 9 0 0 0 0
2010-03-01 10 9 7 0 0 0
2010-04-01 10 7 5 6 0 0
2010-05-01 10 8 6 3 4 0
我的主要数据有 2008 年的数据。我过滤只从 2010 年开始。因此,我希望 2010-01-01 的 Month2、Month3、Month4、Month5 为 0,2010-02 的 Month3、Month4、Month5 为 0 -01
最佳答案
好像你想要 upper.tri
将值设置为零。从...开始
> df
# Month_Start_Date Month1 Month2 Month3 Month4 Month5 Month6
# 1 2010-01-01 10 12 11 9 3 15
# 2 2010-02-01 10 9 11 9 3 15
# 3 2010-03-01 10 9 7 9 3 15
# 4 2010-04-01 10 7 5 6 3 15
# 5 2010-05-01 10 8 6 3 4 15
我们可以用零替换上三角形
> df[-1][upper.tri(df[-1])] <- 0
> df
# Month_Start_Date Month1 Month2 Month3 Month4 Month5 Month6
# 1 2010-01-01 10 0 0 0 0 0
# 2 2010-02-01 10 9 0 0 0 0
# 3 2010-03-01 10 9 7 0 0 0
# 4 2010-04-01 10 7 5 6 0 0
# 5 2010-05-01 10 8 6 3 4 0
关于r - 如何替换列值以进行同类群组分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25857769/