全球环境中的值与数据R

全球环境中的值与数据R,r,environment,R,Environment,为什么值在全局环境中可见,但不像“数据”部分中的数据那样可访问?例如,我可以在数据部分查看表,但不能在值部分查看值对象。它们在其他方面似乎也有所不同。我猜你看到的是这样的东西: “数据”项npk显示MASS包有一个保存该项的.Rdata文件,当包从库中加载时,它将通过Data函数加载到工作区。您可以使用控制台查看它: > str(npk) 'data.frame': 24 obs. of 5 variables: $ block: Factor w/ 6 levels "1","

为什么值在全局环境中可见,但不像“数据”部分中的数据那样可访问?例如,我可以在数据部分查看表,但不能在值部分查看值对象。它们在其他方面似乎也有所不同。

我猜你看到的是这样的东西:

“数据”项
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 ...
如果单击该窗格右侧与数据框名称同一行中的小表格图标,这些值将显示在“查看器”窗口中。使用控制台窗格中的
视图(npk)
可以实现相同的效果。当控制台命令或函数访问“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实际上是一种传递承诺语言(非常类似于传递值,而不是传递引用),因此有时变量名可能在实际调用(即评估)之前就存在于工作区中。

您的问题构造得很糟糕,您能举例说明您的意思吗?我不清楚原因,也许是因为显示二维数组以外的数据结构的复杂性。@Richard Scriven开玩笑说……在R Studio的“全局环境”窗口中,我有一个“数据”部分,其中包含data.frames,我可以通过点击右侧的表图标来查看。还有另一个称为“值”的部分,其中也有被称为data.frames的对象,但右侧没有表图标。为什么这两个部分中的对象不同。