在 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
}
感谢帮助
rm
的 list
参数应该可以满足您的要求。它需要 character
个被删除的变量名。所以,这样的事情应该有效:
for (i in 1:n) {
loaded <- load(paste0("C", i, ".R"))
# do stuff to dataset
rm(list = loaded)
}
请注意,load
函数 returns a character
带有加载对象的名称。所以我们可以在再次删除加载的对象时使用它。 load
的加载对象不一定与文件名相对应。
我有大量类似命名的 .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
}
感谢帮助
rm
的 list
参数应该可以满足您的要求。它需要 character
个被删除的变量名。所以,这样的事情应该有效:
for (i in 1:n) {
loaded <- load(paste0("C", i, ".R"))
# do stuff to dataset
rm(list = loaded)
}
请注意,load
函数 returns a character
带有加载对象的名称。所以我们可以在再次删除加载的对象时使用它。 load
的加载对象不一定与文件名相对应。