0

我有一个对象名称数组v <- c("v1", "v2"),它与对象相关v1v2。我应该如何使用删除这些对象rm()?我试过rm(mget(v))了,但我得到了错误:

Error in rm(mget(v)) : ... must contain names or character strings
4

1 回答 1

7

--根据对Dason指出的问题的更好理解来编辑答案-

由于意图是删除 v 的内容而不是 v 本身所引用的对象,rm(v)(正如我之前所建议的)是不合适的(因为它会删除 v 虽然不是 v 的内容指向的对象(即 v1 &v2)。

> v1 <- "A"
> v2 <- "B"
> #v is a vector containing the references to v1 & v2 as character strings
> v <- c("v1","v2") 
> v
[1] "v1" "v2"
> rm(v)
> v
Error: object 'v' not found
> v1
[1] "A"
> v2
[1] "B"
> 

OP 希望删除对象 v1 & v2 而不是 v。正如 Adam 所确定的,解决方案是rm(list=v)

> rm(list=v)
> v
[1] "v1" "v2"
> v1
Error: object 'v1' not found
> v2
Error: object 'v2' not found
> 
于 2012-11-26T16:55:35.093 回答