在 R 中使用粘贴加载和删除数据集

Loading and removing datasets using paste in R

我有大量类似命名的 .R 数据集。我试图加载它们(我可以成功地做到这一点),对它们做一些事情,然后在一个循环中将它们从工作区中移除。然而,我正在努力删除它们,因为它们从粘贴命令中出来的 class 是错误的。虽然我知道出了什么问题,但我不知道如何更正我的代码,所以欢迎提出建议。这是一些示例代码

for(i in 1:n){
    load(paste("C",i,".R",sep=""))
    # do stuff to dataset
    rm(paste("C",i,sep="")) #this line is clearly wrong
}

感谢帮助

rmlist 参数应该可以满足您的要求。它需要 character 个被删除的变量名。所以,这样的事情应该有效:

for (i in 1:n) {
  loaded <- load(paste0("C", i, ".R"))
  # do stuff to dataset
  rm(list = loaded)
}

请注意,load 函数 returns a character 带有加载对象的名称。所以我们可以在再次删除加载的对象时使用它。 load 的加载对象不一定与文件名相对应。