2013-02-19 196 views
1

我們被類下述R代碼:爲什麼使用函數「detach()」的主要目的是?

attach(LifeCycleSavings) 
boxplot(sr, main = "Box Plot of Savings Ratio") 
detach() 

但是,爲什麼我們需要使用「分離()」在這裏?我輸入「LifeCycleSavings」,仍然有一個輸出如下:

> LifeCycleSavings 
        sr pop15 pop75  dpi ddpi 
Australia  11.43 29.35 2.87 2329.68 2.87 
Austria  12.07 23.32 4.41 1507.99 3.93 
Belgium  13.17 23.80 4.43 2108.47 3.82 

文件「LifeCycleSavings」沒有得到分離。

+8

永遠不要使用'attach'或'detach'。這只是不好的做法,沒有必要。 – Andrie 2013-02-19 20:32:42

+0

如果我以交互方式使用R _only_並且基本上只有一個數據集,那麼我一直使用這些函數。也許有些人經常這樣做,但我不這樣做。 – joran 2013-02-19 20:40:01

回答

7

要回答您的具體問題,在此上下文中的detach將從搜索路徑中刪除該數據框。這意味着你不能再從該數據幀是指變量名獨自:

attach(LifeCycleSavings) 
> sr 
[1] 11.43 12.07 13.17 5.75 12.88 8.79 0.60 11.90 4.98 10.78 16.85 3.59 11.24 12.64 12.55 10.67 3.01 
[18] 7.70 1.27 9.00 11.34 14.28 21.10 3.98 10.35 15.48 10.25 14.65 10.67 7.30 4.44 2.02 12.70 12.78 
[35] 12.49 11.14 13.30 11.77 6.86 14.13 5.13 2.81 7.81 7.56 9.22 18.56 7.72 9.24 8.89 4.71 
> detach(LifeCycleSavings) 
> sr 
Error: object 'sr' not found 

所以在這一點上,如果我們想用sr我們需要爲了讓R到哪裏鍵入LifeCycleSavings$sr

正如Andrie提到的,很多人都不贊成這種使用attachdetach(雖然detach有時也用於從搜索路徑刪除軟件包),因爲它可以真正弄亂你的搜索路徑。

+0

非常感謝! – 2013-02-19 21:04:42

+0

我不認爲混亂的搜索路徑是與附加的問題.. – hadley 2013-02-20 14:13:03

+0

@hadley謹慎詳細...? – joran 2013-02-20 15:32:34

相關問題