Factor,因子
factor = factor(rep(c(1:3),times=5))
X=sample(100,15)
tapply(X,factor,mean)
把X这个向量,分别用1,2,3来标记,求每个1的平均数,每个2的平均数,每个3的平均数。

X和fortor的长度要相等,例子中都是15个数,如果不能,则会报错。

手动求被标记成2的平均数
boo = rbind(X,factor)[2,] == 2
which(boo)
rbind(X,factor)[1,which(boo)]
sum(rbind(X,factor)[1,which(boo)])/length(which(boo))

网友评论