1

我们在课堂上看到了以下 R 代码:

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

但是,为什么我们需要在这里使用“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”没有被分离。

4

1 回答 1

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,我们需要输入LifeCycleSavings$sr来告诉 R 去哪里看。

正如 Andrie 所提到的,很多人不赞成这种使用attachand detach(尽管detach有时也用于从搜索路径中删除包),因为它真的会弄乱你的搜索路径。

于 2013-02-19T20:53:27.893 回答