我想要删除所有全局变量,但定义的环境中的变量除外。
假设我有以下内容:
my.env = new.env()
assign("a", 123, envir = my.env)
my.env$somestring = "Variable mat as vector string"还有一些全局变量:
Age <- as.numeric(42)
HbA <- as.numeric(2)
WHR <- as.numeric(1.3)我知道我可以删除除setdiff之外的所有全局变量
setdiff(ls(),'Age')
#[1] "HbA" "my.env" "WHR" 但是当我调用下面的代码时,我得到了一个错误。这是意料之中的,因为如果我没有弄错的话,my.env实际上是一个指针
setdiff(ls(), my.env)
#Error in as.vector(x, mode) :
# cannot coerce type 'environment' to vector of type 'any'如何删除所有变量但保留my.env?(其中包含变量)
发布于 2018-03-26 18:48:41
试一试
to.del <- setdiff(ls(), "my.env")
rm(list = to.del)
# not relevant anymore
eval(parse(text = paste0("rm(", to.del, ")")))https://stackoverflow.com/questions/49489375
复制相似问题