У меня есть функция, которая читает определенный файл в папке, указанной в 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(folder_names, load_files)
Где имя_папки - это в основном просто символьный вектор с именами папок, идентифицированными другой функцией.
Есть ли какой-нибудь простой способ заставить lapply загружать каждый назначенный фрейм данных непосредственно в один и тот же список?
Я попробовал следующее, но это не сработало:
append(df_list, lapply(folder_names, load_files))
Однако это возвращает только то же самое, что и только для лапы.