2013-02-19 27 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

相关问题