为什么值在全局环境中可见,但无法像"数据"中的数据那样访问?部分?例如,我可以在“数据”部分中查看表,但不能在“值”部分中查看值对象。它们在其他方面也有所不同。
答案 0 :(得分:4)
我猜你正在看这样的事情:
“数据”项npk
显示MASS包中有一个.Rdata文件,该文件包含该项,并且当从库加载包时,它使用data
函数加载到工作区中。您可以使用控制台查看它:
> str(npk)
'data.frame': 24 obs. of 5 variables:
$ block: Factor w/ 6 levels "1","2","3","4",..: 1 1 1 1 2 2 2 2 3 3 ...
$ N : Factor w/ 2 levels "0","1": 1 2 1 2 2 2 1 1 1 2 ...
$ P : Factor w/ 2 levels "0","1": 2 2 1 1 1 2 1 2 2 2 ...
$ K : Factor w/ 2 levels "0","1": 2 1 1 2 1 2 2 1 1 2 ...
$ yield: num 49.5 62.8 46.8 57 59.8 58.5 55.5 56 62.8 55.8 ...
如果单击该窗格右侧与数据框名称相同的行中的小桌面图标,则值将显示在“viewer”窗口中。使用控制台窗格中的View(npk)
可以实现相同的效果。标记为“promises”的“npk”下面的其他项将在您的控制台命令或功能访问它们时在环境窗格中变得更加实例化或“真实”:
> View(npk)
> str(abbey)
num [1:31] 5.2 6.5 6.9 7 7 7 7.4 8 8 8 ...
> accdeaths[1]
[1] 9007
现在该窗格看起来像:
“承诺”已经实现! R实际上是一种pass-by-promise语言(非常类似于按值传递而不是就像pass-by-refernce一样),因此有时变量名可能在实际调用之前存在于工作空间中进入,即评估。