如何替换队列分析的列值

时间:2014-09-15 22:18:56

标签: r analysis

我很擅长使用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

1 个答案:

答案 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