0

オブジェクトにv <- c("v1", "v2")関連付けられているオブジェクト名の配列があります。を使用してこれらのオブジェクトを削除するにはどうすればよいですか? を試しましたが、エラーが発生しました:v1v2rm()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 を削除するため (viz. 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 & not 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 に答える