首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在R中快速汇总多个数据帧

如何在R中快速汇总多个数据帧
EN

Stack Overflow用户
提问于 2013-02-05 04:21:09
回答 2查看 1.7K关注 0票数 0

提前感谢你在这方面的帮助。我尝试简单地汇总R中的多个数据帧,我有一个正在读取的文件,其输出如下所示:

代码语言:javascript
运行
复制
             NDC CHARGE GENERIC
4060 68382006401  43.34    true
4061 68382006401  95.04    true
4062 68382006410  16.77   false

我将正在读取的数据文件保存到变量“.csv”中。读取数据后,根据泛型列是true还是false,我将其分为另外两个变量("true“和"false")。我想要做的是有效地总结三个不同数据帧中的一些列。目前我使用的是:

代码语言:javascript
运行
复制
sapply(data[,1:2], summarize)
sapply(true[,1:2], summarize)
sapply(false[,1:2], summarize)

总结这些数据。这种方法目前还不错,但我会有更多的变量,而且似乎我应该能够循环它或连接数据帧。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-05 04:34:45

你可以把data.frames放在列表中,例如

代码语言:javascript
运行
复制
dat <- data.frame(x=1:5,y=5:1)

datlist <- list(dat,dat,dat)

然后,您可以使用lapply在所有data.frames上运行函数

代码语言:javascript
运行
复制
lapply(datlist, function(x) sapply(x[,1:2], summary))

将所有结果重新组合到一个data.frame中的一个很好的简单方法是使用plyr

代码语言:javascript
运行
复制
library(plyr)
ldply(datlist, function(x) sapply(x[,1:2], summary))
票数 2
EN

Stack Overflow用户

发布于 2013-02-05 11:39:12

这只是一个猜测,考虑到这个问题中的各种模棱两可的地方,但也许:

代码语言:javascript
运行
复制
sapply(data[,1:2], summarize)
sapply(data[data$GENERIC="true", 1:2], summarize)
sapply(data[data$GENERIC="false", 1:2], summarize)

最好将data对象命名为"data“以外的名称。甚至在这个话题上有一大笔财富,使这种命名行为永无止境地令人发笑

代码语言:javascript
运行
复制
 install.packages("fortunes")
 require("fortunes")
 fortune("dog")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14694928

复制
相关文章

相似问题

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