2012-10-05 87 views
2

在我的控制檯中,我無法刪除對象,爲什麼?R中不能有rm對象?

> ls() 
[1] "f1"  "f2"  "getmail" "k"  "mail" "pattern" "rm"  "word" "x"  
> rm(k) 
Error in rm(k) : unused argument(s) (k) 
> rm("k") 
Error in rm("k") : unused argument(s) ("k") 
+4

您有一個對象'rm'列出,它是一個函數嗎?嘗試'base :: rm(k)' – mnel

回答

9

已覆蓋rm對象與自己的對象稱爲rm

> ls() 
[1] "f1"  "f2"  "getmail" "k"  "mail" "pattern" "rm"  "word" "x"  

所以,當你寫rm(something)它不是調用原來rm而是你自己。要撥打原rm,請使用

originalRm <- get('rm', baseenv()) 
originalRm(object) 

# or, simpler: 

base::rm(object) 
+2

R地獄圈8的最後一部分建議在「你得到的結果與你的期望完全不符時」運行衝突(),以便「你踩着「... – Spacedman