r - 如何对R中文件夹中的每个文件执行相同的功能?
问题描述
所以我有一个格式相同的 csv 文件夹。让我们称文件夹“文件夹”和 csv 为:
- 测试1.csv
- 测试2.csv
- test3.csv
- ……
每个csv的格式如下
ID date hours info
001 01/01/2019 8 xxxx
002 01/01/2019 22 xxxx
003 01/02/2019 4 xxxx
004 01/02/2019 5 xxxx
因此,如果我想要一个工作,那么以下工作但我如何在文件夹中的所有文件中运行和组合?
totals <- df %>%
group_by(date) %>%
summarize(hour_sum = sum(hours)
所以基本上我想要一个数据框,它包含所有文件中的每个日期以及所有文件的小时总和。
因此,如果01/02/2019
出现在 3 个文件中,我想要一个 df 中每次出现该日期的小时总和。
解决方案
如果你愿意使用整套tidyverse
包,purrr
给你map_dfr
,它通过 rbinding 你读入的每个数据集返回一个数据帧。关于它的更多信息在这里。
代码看起来像这样:
library(tidyverse)
list.files(path = "path_to_data", full.names = TRUE) %>%
map_dfr(read.csv) %>%
group_by(date) %>%
summarize(hour_sum = sum(hours))
推荐阅读
- python - 使用 numpy 方法修改(keras/tensorflow)张量
- javascript - 如何使用 apache 服务器在本地运行 angular 6 项目
- ruby - Ruby in pry:覆盖 Range 到字符串方法
- ios - 如何在 Swift Playground 中停止框架大小变为 1024x768
- sql - 检查 SELECT 中子查询的结果是否存在
- airflow - 如何在 Airflow OracleOperator 中从 .sql 脚本执行多个 Oracle 语句
- spring-boot - 无法在 Spring Boot 中从外部 jar 中自动装配一个类
- java - AWS Lambda 冷启动延迟的原因是什么?
- javascript - 弹出后更改按钮文本 whit React 和 sweetalert2-react
- c++ - VS Code“命令”:“make”与终端窗口中的命令行“make”不同