将函数应用于 R 中的可变大小列表
Apply function to variable size list in R
我有一个按天分组的文件列表(下面的示例列表),我想将每个文件读入数据框并将它们绑定在一起。我目前正在寻找一种方法来避免“手动”my_files
引用,因为 my_files
列表有时可能超过两天,这会中断。有什么想法吗?
my_files <- list(c("file1_day0.txt", "file2_day0.txt"), c("file3_day3.txt", "file4_day3.txt"))
df <- rbind(lapply(my_files[[1]], create_activation_df) %>%
purrr::reduce(dplyr::left_join, by = c("date",
"experiment")),
lapply(my_files[[2]], create_activation_df) %>%
purrr::reduce(dplyr::left_join, by = c("date",
"experiment")))
再一层lapply
就是你所需要的。这显然是未经测试的,没有共享可重现的示例,但它应该能说明问题:
df <- bind_rows(
lapply(my_files, \(x) {
lapply(x, create_activation_df) %>%
purrr::reduce(dplyr::left_join, by = c("date", "experiment"))
}
)
我有一个按天分组的文件列表(下面的示例列表),我想将每个文件读入数据框并将它们绑定在一起。我目前正在寻找一种方法来避免“手动”my_files
引用,因为 my_files
列表有时可能超过两天,这会中断。有什么想法吗?
my_files <- list(c("file1_day0.txt", "file2_day0.txt"), c("file3_day3.txt", "file4_day3.txt"))
df <- rbind(lapply(my_files[[1]], create_activation_df) %>%
purrr::reduce(dplyr::left_join, by = c("date",
"experiment")),
lapply(my_files[[2]], create_activation_df) %>%
purrr::reduce(dplyr::left_join, by = c("date",
"experiment")))
再一层lapply
就是你所需要的。这显然是未经测试的,没有共享可重现的示例,但它应该能说明问题:
df <- bind_rows(
lapply(my_files, \(x) {
lapply(x, create_activation_df) %>%
purrr::reduce(dplyr::left_join, by = c("date", "experiment"))
}
)