问题描述
假设我们有2个向量:
x <- c(1,2,3,4,5,5)
y <- c(40,228,280,252,211,226,235,240,179,175,197,203,227,258,240)
现在,我想对y中与x中的值相对应的元素求和,然后将它们除以x中出现的次数,以进行相应的存储:
40,239.4,213.25,201,249
例如(228 + 280 + 252 + 211 + 226)/5 = 239.4
如果有人能帮助我,我会很感激。
解决方法
此base R
解决方案可以为您提供tapply()
的帮助:
tapply(y,x,mean)
输出:
1 2 3 4 5
40.00 239.40 213.25 201.00 249.00
如果要将结果保存到另一个向量中,则可以使用z <- as.vector(tapply(y,mean))