2012-11-26 71 views
-2

我有一個對象名稱數組v <- c("v1", "v2"),它與對象v1v2相關聯。 我應該如何使用rm()刪除這些對象? 我試過rm(mget(v)),但我得到的錯誤:刪除對象名稱列表

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

'?rm'告訴你如何做到這一點。 –

+2

非常感謝,Joshua。 rm(list = v)有效。 – AdamNYC

回答

2

基礎上更好地理解這一問題--Editing答案由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 & &不訴亞當鑑定,該解決方案將是rm(list=v)

> rm(list=v) 
> v 
[1] "v1" "v2" 
> v1 
Error: object 'v1' not found 
> v2 
Error: object 'v2' not found 
> 
+0

'rm(v)'將移除包含名稱的字符向量 - 而不是對象本身。 – Dason

+0

噢,好的。感謝您的澄清。我應該刪除這個答案嗎? –

+0

這是你的電話。你可以刪除它。你可以修改它,以便你的答案實際上回答這個問題。 (AdamNYC給出了一個在評論中有效的答案,所以你可以使用它) – Dason