我試圖從父環境中刪除的對象。使用RM從父環境中刪除對象()
rm_obj <- function(obj){
a <-deparse(substitute(obj))
print (a)
print(ls(envir=sys.frame(-1)))
rm(a,envir=sys.frame(-1))
}
> x<-c(1,2,3)
> rm_obj(x)
[1] "x"
[1] "rm_obj" "x"
Warning message:
In rm(a, envir = sys.frame(-1)) : object 'a' not found
這將有助於澄清我對幀的誤解。
你到底想幹什麼?當然'rm(x)'在這裏會更容易。 – 2010-03-21 02:47:50
嗨德克, 這就是我開始。但是,函數外部的ls()表明該對象仍然存在。我想這意味着函數內的rm(x)只是在本地副本上運行?我再次可能是錯的。希望有人能解釋爲什麼會發生這種情況。我真的會試着去理解它。 拉斯 – user151410 2010-03-21 17:56:48