r - 在 R 中对多个数据帧进行汇总统计
问题描述
抱歉,如果这已在其他地方得到回答。我希望在 R 中跨多个数据帧计算和输出汇总统计信息。
对于上下文,我的数据存储在.txt
每个主题的文件中 - 只有一列:1 个变量的 63 obs。我总共有 48 个文件对应于 48 个主题。
我将这些文件读入 Rstudio 并使用以下脚本创建了多个每个主题的数据框:
filenames <- gsub("\\.txt$","", list.files(pattern="\\.txt$"))
for(i in filenames){
assign(i, read.delim(paste(i,".txt", sep="")))
}
数据帧的命名是例如001_fd, 002_fd ...
所以我希望做的是创建一个 for 循环来计算每个数据帧的摘要统计数据,然后将每个数据帧的结果输出到单个 csv 文件中。
这里的任何帮助将不胜感激
解决方案
不希望对象名称以数字开头。您也没有提到汇总统计是什么意思,您到底想计算什么,我会计算mean
,median
在这里,如果需要,您可以包括更多。
首先,使用获取列表中的所有数据框mget
list_df <- mget(ls(pattern = '\\d+_fd'))
使用lapply
,您可以计算任何您想要的。假设您在每个数据框中都有x
一个列作为列名,您可以这样做
output_df <- do.call(rbind, lapply(list_df, function(df)
data.frame(mean = mean(df$x), med = median(df$x))))
或者purrr::map_df
这使得这更短。
output_df <- purrr::map_df(list_df,
~data.frame(mean = mean(.x$x), med = median(.x$x)))
将结果写入 csv。
write.csv(output_df, 'results.csv', row.names = FALSE)
推荐阅读
- html - 如何在html按钮上添加文本大纲
- font-awesome - 字体真棒图标直接链接
- asp.net-mvc - 在 Azure Web App MVC 应用程序请求上启用 http2
- javascript - 下载锚标记在浏览器中打开文件,但不在 React 组件中下载
- jquery - 具有相同选择器的不同子选择器上的单击事件
- java - 将代码分离到`src`文件夹下的主分支和测试分支,而不更改包名称
- typescript - 打字稿交集类型和函数签名未引发预期错误
- opengl - OpenGL:重复使用变换反馈缓冲区会覆盖已建立的纹理
- php - 如何在 laravel TCPDF 中按页面获取表字段的总数?
- apache-kafka - kafka重启后我的kafka主题不可用