首页 > 解决方案 > 在 R 中编写循环以从多个 csv 文件中提取特定的列和行

问题描述

我在 R 工作室工作,我有多个小的 csv 文件(大约 500 个),我只需要这些列中的三列,只有两行。我可以创建一个循环或一系列循环来首先提取我需要的列然后是行(反之亦然)并写入一个新的 csv 文件吗?有没有办法维护文件名,所以我知道哪个数据集来自哪里?

我阅读了我能找到的内容并试图拼凑一个脚本,但似乎没有什么能满足我的需要。

标签: rcsvexport-to-csv

解决方案


我们可以将数据集读入 a list,创建行索引和列索引以根据行列索引进行提取

files <- list.files('/path/to/your/directory', full.names = TRUE,
        pattern = '\\.csv$')
# // change accordingly
rind <- c(3, 4)
cind <- c(22, 134)
out_lst <- lapply(files, function(x) read.csv(x)[rind, cind])

推荐阅读