我们在课堂上看到了以下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”没有脱离。
答案 0 :(得分: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所说,许多人对这种attach
和detach
的使用感到不满(尽管detach
有时也用于从搜索路径中删除包)因为它确实可以弄乱你的搜索路径。