如何批量读取同结构文本文件并合并,同时添加文件名衍生列?
批量处理并合并文件的实现方法
你可以借助R的批量处理函数,结合已有的extract_file_name函数完成需求,以下是两种常用方案:
方案一:Tidyverse风格(推荐)
先确保加载所需的包,再通过map_dfr直接完成批量处理+合并的操作:
library(dplyr) library(stringr) library(purrr) # 一次性完成批量读取、添加Rec列、合并所有数据 combined_df <- map_dfr(myFileNames, extract_file_name)
map_dfr会遍历myFileNames中的每个文件名,调用你写的处理函数,同时自动将所有结果按行合并成一个数据框,无需额外的合并步骤。
方案二:Base R风格
如果不想加载额外的purrr包,也可以用基础R的函数实现:
library(dplyr) library(stringr) # 批量处理所有文件,得到包含多个数据框的列表 df_list <- lapply(myFileNames, extract_file_name) # 将列表中的所有数据框按行合并 combined_df <- do.call(rbind, df_list)
验证结果
处理完成后,可以用以下命令检查合并是否正常:
# 查看合并后的数据框行数 nrow(combined_df) # 查看Rec列的取值情况,确认文件ID提取正确 unique(combined_df$Rec)
内容的提问来源于stack exchange,提问作者Chris Ruehlemann
相关产品推荐
相关产品推荐

