我有这个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/