我很擅长使用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年开始。因此,我希望将Month2,Month3,Month4,Month5设为0(2010-01-01),将Month3,Month4,Month5设为0为0 2010-02-01
答案 0 :(得分:3)
您似乎希望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