我在.csv中有一个数据集。例如,它包含多个列。
Group Wk1 WK2 WK3 WK4 WK5 WK6
A 1 2 3 4 5 6
B 7 8 9 1 2 3
C 4 5 6 7 8 9
D 1 2 3 4 5 6
然后,如果我想要WK1和&的平均值WK2,Wk3,WK4& WK5,WK6。 我怎样才能做到这一点? 结果可能是
Group 1 2 3 4
mean 3.75 5.25 4.5 6
如何将其保存到新表中?
提前致谢。
答案 0 :(得分:2)
您可melt
data.frame
aggregate
,使用一些基本索引创建论坛,并使用library(reshape2)
X <- melt(mydf, id.vars="Group")
Match <- c(Wk1 = 1, Wk2 = 1, Wk3 = 2, Wk4 = 3, Wk5 = 3, Wk6 = 4)
aggregate(value ~ Match[X$variable], X, mean)
# Match[X$variable] value
# 1 1 3.75
# 2 2 5.25
# 3 3 4.50
# 4 4 6.00
:
tapply
tapply(X$value, Match[X$variable], mean)
# 1 2 3 4
# 3.75 5.25 4.50 6.00
也是一个合适的候选人:
{{1}}