我被困在这里有另一个R-问题。我有一个以下布局的数据框,有超过2000个观察值和50列:
group <- c("X","X","X","X","Y","Y","Y","Y","Z","Z","Z","Z")
subgroup <- c("A","B","A","B","A","B","A","B","A","B","A","B")
obs1 <- c(rnorm(12,mean=10))
obs2 <- c(rnorm(12,mean=20))
e <- data.frame(group,subgroup,obs1,obs2)我想要的是一个数据帧,它显示了特定组x子组相互作用的所有观察结果的总和: column1=group column2=subgroup column2=sum of obs1,column4=sum obs2 ...
组、子组和列标签应保留。我试过了:
for(i in levels(e$group)){test[i,]<-as.matrix(Matrix::colSums(e[,3:4]))}但这会导致错误。您可能会注意到,我对R编码并不在行:)
发布于 2013-07-04 00:34:04
根据您的评论判断,您可能希望研究一下"data.table“包,它可以快速处理这种聚合,并且语法非常简单。
在这种情况下,您可以尝试执行以下操作:
library(data.table)
E <- data.table(e)
E[, lapply(.SD, sum), by = c("group", "subgroup"), .SDcols = 3:4]https://stackoverflow.com/questions/17452450
复制相似问题