可能需要在类似的过程中使用结构良好的文件名对大量文件进行处理。
首先,必须创建要访问的文件名的向量,为此有多个选项:
使用手动创建矢量 paste0()
files <- paste0("file_", 1:100, ".rds")
使用与文件类型正则表达式搜索项,需要正则表达式(正则表达式)如果同一类型的其他文件在目录中的知识。list.files()
files <- list.files("./", pattern = "\\.rds$",full.names= TRUE)
其中X是所用文件命名格式的一部分的向量。
lapply 将输出每个响应作为列表的元素。
readRDS特定于.rds文件,并且会根据过程的应用程序而变化。
my_file_list <- lapply(files, readRDS)
这不一定比测试中的for循环快,但允许所有文件成为列表的元素,而无需显式分配它们。
最后,我们经常需要一次加载多个软件包。通过适用library()于我们希望导入的所有库,此技巧可以轻松实现:
lapply(c("jsonlite","stringr","igraph"),library,character.only=TRUE)