我有一个函数读取lapply中指定的文件夹中的特定文件,并将此表加载到R.该函数如下所示:
load_files <- function(folder) {
file <- list.files(path = paste0(folder, "/"), pattern = "quast.tsv")
assign(
paste0("ref_", gsub("^GCF_(.*?)_ASM(.*?)$", "\\1", folder)),
read.delim(
paste0(folder, "/", file),
stringsAsFactors = F,
header = TRUE,
sep = "\t"
)
)
}
该函数为每个数据框指定一个特定名称 . 之前我在for循环中使用它来为每个表读取创建一个数据帧 . 但是,我希望它将每个数据帧加载到同一个列表中,而不将它们加载到单个数据帧中 . 我使用的lapply看起来像这样:
lapply(folder_names, load_files)
其中folder_names基本上只是一个字符向量,文件夹名称用另一个函数标识 .
是否有任何简单的方法可以将每个指定数据框的lapply加载到同一个列表中?我试过以下,但似乎没有用:
append(df_list, lapply(folder_names, load_files))
然而,这仅仅与lapply相同 .
1 回答
这就是我要做的 . 我的工作目录中有2个文本文件 . 完成后,我在列表中有2个data.frames及其相应的名称 .