考虑在目录中包含许多* .Rda文件。它们都只包含一个对象(在本例中是一个从mboost ::: gamboost获得的模型),附加了扭曲,对象具有相同的名称(“mod_gam”)。
是否可以一次将所有这些加载到工作区中(甚至重命名)?
temp <- list.files(pattern="*.Rda")
models <- lapply(temp, load)
会产生一个包含空字符的列表:
str(models)
List of 26
$ : chr "mod_gam"
$ : chr "mod_gam"
$ : chr "mod_gam"
......等等。
答案 0 :(得分:1)
我的建议是在加载对象时为对象添加一个迭代后缀。因为你已经知道加载的每个对象都会被称为“mod_gam”,所以它会让事情变得容易一点。
i <- 1
for(each in temp){
load(each)
eval(parse(text=paste(paste0("mod_gam_",i),"<- mod_gam")))
i <- i+1
}
这将为您提供26个不同的对象。请注意,这不是最佳的 - 我想要提供而不是循环,但是每次读入新文件时我都无法弄清楚如何迭代后缀。