Factors
> # FACTOR
> factor = factor(rep(c(1:3),times=5))
> factor
[1] 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
Levels: 1 2 3
> X = sample(100,15)
> tapply(X,factor,mean)
1 2 3
67.6 52.2 56.8
> rbind(X,factor) # X用factor来标记
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
X 97 87 93 34 16 67 48 43
factor 1 2 3 1 2 3 1 2
[,9] [,10] [,11] [,12] [,13] [,14] [,15]
X 25 77 21 60 82 94 39
factor 3 1 2 3 1 2 3
> boo = rbind(X,factor)[2,]==1 # 判断语句
> rbind(X,factor)[2,]==1
[1] TRUE FALSE FALSE TRUE FALSE FALSE TRUE
[8] FALSE FALSE TRUE FALSE FALSE TRUE FALSE
[15] FALSE> rbind(X,factor)[2,]==1
[1] TRUE FALSE FALSE TRUE FALSE FALSE TRUE
[8] FALSE FALSE TRUE FALSE FALSE TRUE FALSE
[15] FALSE
> which(boo) # Ture
[1] 1 4 7 10 13
> rbind(X,factor)[1,which(boo)]
[1] 97 34 48 77 82
> sum(rbind(X,factor)[1,which(boo)])/length(which(boo))
[1] 67.6