循环创建列表的迭代命名

时间:2018-10-19 12:49:45

标签: r for-loop rename naming

我写了一个循环:

for(a in 1:100){

   Code 

   list <- list("test1"=test1,"test2"=test2)
   save(list, file = paste(paste("test",a,sep="_"),".RData",sep=""))
  }

已保存文件的迭代命名效果很好,但是我还没有找到执行此列表的方法。问题是,如果我将文件加载到R中,则两个对象都称为列表,因此出现了问题。

我尝试过mv(from = "list" , to = paste(paste("test",a,sep="_")),但是它不起作用。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

实际上,这是一个棘手的问题,因为save(eval(parse(text=paste0("list", a))), file = paste("test",a,".RData",sep=""))由于某种原因无法正常工作,因此,您最好的IMO选择是仅保存一个文件-这样做可能更方便,并且可以访问对象的名称在列表列表中:

test1 <- 1
test2 <- 2
mylist <- list()
for(a in 1:100){
  #assign(paste0("list",a), list("test1"=test1,"test2"=test2), environment())
  mylist[[a]] <- list("test1"=test1,"test2"=test2)
}
save(mylist, file = "mylist.RData")