如何在R语言中将CSV文件名按规则拆分为嵌套列表?
在R中按文件名拆分生成嵌套列表
步骤1:获取CSV文件名
如果是模拟数据,直接构造文件名向量;如果是读取文件夹中的文件,用list.files():
# 模拟文件名向量 file_names <- c("gam_1-1.csv", "gam_1-2.csv", "gam_2-1.csv", "gam_2-2.csv") # 或者读取指定文件夹中的目标CSV文件 # file_names <- list.files(path = "./your_folder_path", pattern = "^gam_\\d-\\d\\.csv$", full.names = FALSE)
步骤2:提取分组标识
通过正则表达式从文件名中提取分组的关键部分(比如gam_1、gam_2):
groups <- sub("^(gam_\\d)-.*\\.csv$", "\\1", file_names)
步骤3:拆分生成嵌套列表
使用split()函数按分组标识拆分文件名向量,直接得到目标嵌套列表:
final_list <- split(file_names, groups)
调整列表命名(可选)
如果需要和示例一样去掉子列表的命名,用unname()处理:
final_list <- unname(split(file_names, groups))
验证结果
查看生成的列表结构:
str(final_list)
输出结构与需求完全匹配:
List of 2 $ : chr [1:2] "gam_1-1.csv" "gam_1-2.csv" $ : chr [1:2] "gam_2-1.csv" "gam_2-2.csv"
内容的提问来源于stack exchange,提问作者MAJ
相关产品推荐
相关产品推荐

