r - 循环遍历 R 中的多个数据帧
问题描述
我的磁盘上有一组 RDs 格式的每个季度/年的调查设计数据。数据是这样的:
Year Quarter Age
2010 1 27
2010 1 32
2010 1 34
...
我正在使用该函数svymean(formula=~Age, na.rm = T, design = data20101)
来估计每个年/季度文件的年龄变量的平均值。我想以一种可以循环运行该函数然后将结果保存在一个数据帧中的方式更有效地运行它。
我正在寻找的输出是产生这样一个数据框:
Year Quarter Mean_Age
2010 1 31.1
2010 1 32.4
2010 1 30.9
2010 1 34.5
2010 2 36.3
2010 2 31.2
2010 2 30.8
2010 2 35.6
...
问候,
解决方案
我没有足够的代表发表评论。我看到 r2evans 就如何读取大数据提出了很好的建议。如果要遍历数据,显然需要以某种方式列出数据。此方法遍历文件名列表,因为您的数据本身都在一个目录中。它也不会一次保存一个以上的数据集,如果您唯一想要的是输出/分组平均年龄(如果您在此之外运行更多分析,则不理想)。我不确定您的问题最紧迫的是什么,但下面是如何解决您的问题的一般模型。
library(dplyr)
output <- data.frame(Year = numeric(),
Quarter = numeric(),
Mean_Age = numeric())
filepath <- "./filpath_to_data/"
files_list <- list.files(filepath)
for (i in 1:length(files_list)){
output <- read.csv(paste0(filepath, files_list[i])) %>%
group_by(Year, Quarter) %>%
summarise(Mean_Age = mean(Age), .groups = "drop") %>%
add_rows(output)
}
output
推荐阅读
- mongodb - mongoDb 聚合值作为键和值
- javascript - 图片上传器在 Safari 中不工作 - 可能的解决方法 (JavaScript)
- javascript - 通过javascript同时更改css的最佳方法?
- javascript - Javascript数组中的嵌套对象
- python - 如何设置命令提示符以使用下载的 Python 作为解释器?
- html - 我在哪里可以检查 vuejs3 是否支持这些依赖项
- mysql - 在 gorm 中使用 Preload 和 Join
- c# - 以精确的单位统一移动物体?
- php - PHP 有没有办法分别从 foreach 中显示我的列表?
- angular - Chart.js 3+、Firefox 68 和 Angular:“ReferenceError:“ResizeObserver 未定义”