首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R根据组/子组汇总数据帧

R根据组/子组汇总数据帧
EN

Stack Overflow用户
提问于 2013-07-03 23:45:35
回答 1查看 1.1K关注 0票数 0

我被困在这里有另一个R-问题。我有一个以下布局的数据框,有超过2000个观察值和50列:

代码语言:javascript
复制
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 ...

组、子组和列标签应保留。我试过了:

代码语言:javascript
复制
for(i in levels(e$group)){test[i,]<-as.matrix(Matrix::colSums(e[,3:4]))}

但这会导致错误。您可能会注意到,我对R编码并不在行:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-04 00:34:04

根据您的评论判断,您可能希望研究一下"data.table“包,它可以快速处理这种聚合,并且语法非常简单。

在这种情况下,您可以尝试执行以下操作:

代码语言:javascript
复制
library(data.table)
E <- data.table(e)
E[, lapply(.SD, sum), by = c("group", "subgroup"), .SDcols = 3:4]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17452450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档