【发布时间】:2015-11-10 11:36:54
【问题描述】:
我需要在 R 中汇总多个相关度量 (DM)。我发现这里的以下讨论非常有用:
Aggregate / summarize multiple variables per group (i.e. sum, mean, etc)
基于此,下面的代码基本上可以满足我的需要。但是,随着 DM 数量的增加(我有很多 DM),它会变得很长:
aggregate(cbind(DM1, DM2, DV3, DM4, DM5 ... DMn) ~ F1 + F2 +
F3, data = sst2, mean, na.rm=TRUE)
因此,我想知道是否有一种更有效的方式来编写 DM,而不必单独键入每个 DM。大多数感兴趣的 DM 彼此相邻(即DM3、DM4、DM5 等),所以我正在考虑使用类似于cbind(DM1, DM3:DM10, DM14) 的东西,但这似乎不起作用。我还尝试生成相关列名的列表。不幸的是,这也不起作用:
pr<-colnames(sst2)
pr2<-pr[pr!="DM2" & pr!="DM11" & pr!="DM12" & pr!="DM13"]
pr3<-noquote(paste(pr2,collapse=","))
pp<-aggregate(cbind(pr3) ~ F1 + F2 +
F3, data = sst2, mean, na.rm=TRUE)
任何关于如何在聚合函数(或其他相关函数,如 ddply)中有效地包含大量 DM 的建议将不胜感激。
【问题讨论】: