q**j 发帖数: 10612 | 1 我已经知道如果一个vector a,对应一个 factor vector b,那么我们可以用*apply来
分factor运算。比如
c = tapply(a, b, mean)
那么如果我的a 不仅仅是一个vector,而是一个data frame。里面有很多的column vec
tor。请问如何可以一次对所有的colume vector进行这样的运算?多谢。
我试了,这样的话
c = tapply(a, b,mean)
就不好用了。 | k*******a 发帖数: 772 | 2 apply(a, 2, function(x) tapply(x, b, mean)) | q**j 发帖数: 10612 | 3 thanks a lot for the help! is there anyway that you can use colMeans
function to do the same?
【在 k*******a 的大作中提到】 : apply(a, 2, function(x) tapply(x, b, mean))
| t******g 发帖数: 372 | 4 you many consider using aggregate(),
aggregate(x=a, by=list(b), FUN='mean')
vec
【在 q**j 的大作中提到】 : 我已经知道如果一个vector a,对应一个 factor vector b,那么我们可以用*apply来 : 分factor运算。比如 : c = tapply(a, b, mean) : 那么如果我的a 不仅仅是一个vector,而是一个data frame。里面有很多的column vec : tor。请问如何可以一次对所有的colume vector进行这样的运算?多谢。 : 我试了,这样的话 : c = tapply(a, b,mean) : 就不好用了。
| k*******a 发帖数: 772 | 5 c <- by(a,b,colMeans)
c <- do.call("rbind", c)
【在 q**j 的大作中提到】 : thanks a lot for the help! is there anyway that you can use colMeans : function to do the same?
|
|