【发布时间】:2016-07-07 03:38:18
【问题描述】:
在下面的数据框中,我想对所有列进行平均,然后计算每个字母类别的第一个平均值之间的倍数差异,就像我在 excel 中所做的那样:
A0<-1:4
A1<-2:5
A2<-3:6
A3<-4:7
A4<-5:8
B0<-11:14
B1<-12:15
B2<-13:16
B3<-14:17
B4<-15:18
C0<-21:24
C1<-22:25
C2<-23:26
C3<-24:27
C4<-25:28
到目前为止,我能做的是:
## step 1
df<-data.frame(A0, A1, A2, A3, A4, B0, B1, B2, B3, B4, C0, C1, C2, C3, C4)
## step 2
rbind(df, c(mean(df[,1])/sapply(df[,1:5], mean),
mean(df[,6])/sapply(df[,6:10], mean),
mean(df[,11])/sapply(df[,11:15], mean)))
## step 3
data.frame(t(rbind(df, c(mean(df[,1])/sapply(df[,1:5], mean),
mean(df[,6])/sapply(df[,6:10], mean),
mean(df[,11])/sapply(df[,11:15], mean)))))
## step 4
ggplot(data.frame(t(rbind(df, c(mean(df[,1])/sapply(df[,1:5], mean),
mean(df[,6])/sapply(df[,6:10], mean),
mean(df[,11])/sapply(df[,11:15], mean))))),
aes(1:15, X5)) + geom_bar(stat="identity")
在此之后,我可以做方面和其他方面的工作,但在大数据框架中,第 2 步将非常困难。你有什么建议我可以告诉 R 自动完成它,这样我就不必自己写了?
【问题讨论】: