【发布时间】:2017-06-30 16:31:51
【问题描述】:
从多列的数据框中,我想通过一列聚合(即sum)数百列,而不指定每个列名。
一些样本数据:
names <- floor(runif(20, 1, 5))
sample <- cbind(names)
for(i in 1:20){
col <- rnorm(20,2,4)
sample <- cbind(sample, col)
}
到目前为止,我所拥有的是以下代码,但它告诉我参数的长度必须相同。
aggregated <- aggregate.data.frame(sample[,c(2:20)], by = as.list(names), FUN = 'sum')
原始数据集要大得多,所以我无法指定要聚合的每一列的名称,也无法使用列表函数。
【问题讨论】: