我有这个df:

          webvisits1   webvisits2  webvisits3 webvisits4
s001          2            0           11           2
s002          11           2           23           3
s003          12           1            1           5
s004          13           5            5           0
s005          4            3            9           3


我需要创建一个带有添加列的输出数据框,其中包含webvisits(3-4)和webvisits(1-2)的均值之差,如下所示:

          webvisits1   webvisits2  webvisits3 webvisits4 difference_mean
s001          2            0           11           2        -5.5
s002          11           2           23           3        -6.5
s003          12           1            1           5         3.5
s004          13           5            5           0         6.5
s005          4            3            9           3        -2.5


考虑到列名(webvisits)很重要,有没有简便的方法?
谢谢

最佳答案

我们将数据集分为两个(df[1:2]df[3:4]),得到差异,然后使用rowMeans找到mean,使用transform创建新列'differenceMean'。

df <- transform(df, differenceMean = rowMeans(df[1:2]- df[3:4]))
df
#     webvisits1 webvisits2 webvisits3 webvisits4 differenceMean
#s001          2          0         11          2           -5.5
#s002         11          2         23          3           -6.5
#s003         12          1          1          5            3.5
#s004         13          5          5          0            6.5
#s005          4          3          9          3           -2.5

关于r - r:按名称 append 一列子集的均值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38828946/

10-10 08:49