我有一个文件夹,其中包含数百个要加载到R环境中的CSV文件,但我只想 Select 数据超过9行的文件.我希望每个CSV文件都是自己的数据框,用于我的下一个分析步骤.

我已经有了一种方法来读取每个单独的CSV

filenames <- gsub("\\.csv$","", list.files(pattern="\\.csv$"))

for(i in filenames){
  assign(i, read.csv(paste(i, ".csv", sep="")))
}

但是我想不出如何只加载超过9行的CSV.

推荐答案

除了速度非常快之外,包{vroom}还提供了一些很好的实用程序来处理许多文本文件.

示例:

  • 获取文件名:
all_files <- list.files('path/to/csv/dir', pattern = '\\.csv$', full.names = TRUE)
  • 仅保留文件名称>;9行:
library(vroom)

large_files <- 
  all_files |>
  Filter(f = \(file_name) length(vroom_lines(file_name)) > 9)
  • 将大文件读取到数据框中,并将源文件的路径保留在‘SOURCE_FILE’列中(使用此列进行GroupWise数据分析,例如使用{dplyr}):
all_data <- vroom(large_files, id = 'source_file')
  • 如有必要,您可以像这样 for each 源文件创建一个单独的数据帧对象;-)
large_files |>
  Map(f = \(file_name) read.csv(file_name)) |>
  setNames(nm = gsub('.*/(.*)\\..*', '\\1', large_files)) |>
  list2env(envir = .GlobalEnv)

R相关问答推荐

将模拟变量乘以多个观测结果中的模拟变量

使用sensemakr和fixest feols模型(R)

从gtsummary包中使用tBL_strata()和tBL_summary()时删除变量标签

如何编辑ggplot的图例字使用自定义对象(gtable)?'

是否可以创建一个ggplot与整洁判断的交互作用

如何使用STAT_SUMMARY向ggplot2中的密度图添加垂直线

如何在分组条形图中移动相关列?

如何在ggplot2中绘制具有特定 colored颜色 的连续色轮

是否有新方法来更改Facet_WRAP(Ggplot2)中条文本的文本 colored颜色 ?

将向量元素重新排序为R中的第二个

基于数据集属性将科分配给物种

在R中的数据框上使用Apply()函数时,如何保留非数字列?

如何阻止围堵地理密度图?

使用ifElse语句在ggploy中设置aes y值

根据排名的顶点属性调整曲线图布局(&Q)

将y轴格式更改为R中的百分比

从字符串列中的向量中查找第一个匹配的单词

在子图内和子图之间对齐行数不均匀的表格罗布对

Data.table条件合并

R data.设置函数&;连接中的列值而不使用for循环的表方法?