【发布时间】:2019-05-28 06:14:42
【问题描述】:
我有一个文件列表,我想导入、执行计算并保存结果。
我有几个文件夹标记如下:
2005、2006、2007...2018。
文件保存为:
file_2005.csv、file_2006.csv、file_2007.csv...file_2018.csv。
(每个文件夹一个文件)
我正在尝试编写一个函数来执行以下操作:
- 分别从文件夹
2005和2006中读取file_2005.csv和file_2006.csv。 - 对这两个数据集执行一些清理、处理和一些计算。
- 保存结果。
-- 从文件夹 2006 和 2007 中读取 file_2006.csv 和现在的 file_2007.csv。
-- 执行与以前相同的计算。
-- 保存结果。
--- 从文件夹2007 和2008 中读入file_2007.csv 和file_2008.csv。
--- 执行相同的计算
--- 保存结果。
等等……
所以我想知道如何递归地创建这样一个函数,它本质上是读取所有数据并处理结果。
当我多年来一起阅读时,我会出现记忆问题。
【问题讨论】:
-
frames <- sapply(list.files(path, pattern="*.csv", full.names=TRUE. recursive=TRUE), read.csv, simplify = FALSE),处理每一帧,然后类似于Map(function(x,fn) write.csv(x, fn, row.names=FALSE), frames, names(frames))。
标签: r