在R中的循环中提取文件名字符串



我正试图编写一段代码来创建一个新的主数据帧(master_adh_merge(,该主数据帧将所有源.csv文件合并到文件夹ROOT.DIR.MERGES中。

源文件名结构为adh-merged_YYYY-MM-DD.csv
例如。adh-merged_2021-01-01.csv,adh-merged_2021-02-01.csv…adh-managed_2022-08-01.csv

源文件中的数据结构如下,指的是一个月。

依从性
Patient_ID 站点
A_1 Ax 30
A_2 Ax 0
B_1 Bx 20

如果files看起来像这样:

[1] "adh-merged_2021-01-01.csv" "adh-merged_2021-01-02.csv" "adh-merged_2021-01-03.csv"

然后,您可以从files向量中提取日期,并使用do.call()rbindlapply(),如下所示:

dates = str_extract(files, "[0-9]{4}-[0-9]{2}-[0-9]{2}(?=.csv$)")
do.call(
rbind, 
lapply(dates, (d) {
data = read.csv(paste0(ROOT.DIR.MERGES, "/adh-merged_", d, ".csv"))
data$month = d
data
})
)

最新更新