我有一个大型数据集可以创建并以碎片形式完成。我创建了50个数据框(F1:F50)然后我将它们合并在一起:
for(i in 1:50) {x= get(paste0("F",i))
zF <- rbind.fill(zF,x)}
但是现在我试图清除其他对象。
一旦他们NULL
,我就用
rm(list=names(which(sapply(globalenv(),is.null))))
也许我可以将is.null()
更改为描述我的对象的模式,但我认为只是查看并制作每个NULL
会更容易,所以我尝试了几次尝试:
> for(i in 1:56) {get(paste0("F",i))
paste("F",i)=NULL}
Error in paste("F", i) = NULL :
target of assignment expands to non-language object
> for(i in 1:56){get(paste0("F",i))=NULL}
Error in get(paste0("F", i)) = NULL :
target of assignment expands to non-language object
所以顶部循环工作但是这些失败意味着我虽然get
会给你复制的数据(以x
的形式),然后使用,但它不允许我改变实际的对象。
有没有办法做到这一点,或者是使用rm
的解决方案,我更喜欢前者,因为它打开了对象的未来变化,而不仅仅是摆脱它们。
答案 0 :(得分:1)
rm(list = ls(pattern = '^F'))
删除所有与模式匹配的对象(在这种情况下,所有以&#39; F&#39;开头的对象)