区别于;“数据”;及;价值观;在R

区别于;“数据”;及;价值观;在R,r,rstudio,R,Rstudio,我最近从STATA转换到R。我使用RSTudio作为我的IDE。我发现我的一些变量进入RStudio中的“数据”部分,一些进入“值”部分。这些都在“环境”窗口中。我在谷歌上搜索了一下,发现R中有一些主要的概念我没有。“数据”和“值”有什么区别?如果有人能给出一个例子,说明变量何时进入数据部分,何时进入值部分,那就太好了 以下是我所指的链接: 如果您有任何想法,我将不胜感激。您没有遗漏“R中的主要概念”。您缺少的是,RStudio选择将数据帧与其他对象(如列表)分离,而不使用“data.frame

我最近从STATA转换到R。我使用RSTudio作为我的IDE。我发现我的一些变量进入RStudio中的“数据”部分,一些进入“值”部分。这些都在“环境”窗口中。我在谷歌上搜索了一下,发现R中有一些主要的概念我没有。“数据”和“值”有什么区别?如果有人能给出一个例子,说明变量何时进入数据部分,何时进入值部分,那就太好了

以下是我所指的链接:

如果您有任何想法,我将不胜感激。

您没有遗漏“R中的主要概念”。您缺少的是,RStudio选择将数据帧与其他对象(如列表)分离,而不使用“data.frame”类,这是出于其自身的原因(认为这无疑有助于用户)。R中没有“数据”或“值”类,在R手册中也找不到这种区别。这是RStudio在工作,而不是R的一部分。当我阅读Jonathon对所引用问题的回答时,我猜测这个决定是基于R对象是否具有维度属性,因为他说矩阵和框架也会列在“值”中。我认为更准确的标签应该是“有尺寸的对象”和“无尺寸的、非语言的对象”。我有点惊讶,列表显示出来了,但原子向量却没有(与乔纳森相反)。也许有一个开关可以扔到某个地方,在面板上显示原子向量的名称

这在数据部分:

dat <- data.frame(a=1:10, b=letters[1:10])

这纯粹是RStudio的不同。”数据对象是S4对象、环境和具有尺寸的对象。可能还有更多,这些是我迄今为止发现的少数几个。”“值”对象是既不是函数也不是“数据”对象的对象


编辑:进一步检查后,RStudio中的“值”似乎是小于2维的原子对象。我希望这有帮助。

删除了“环境变量”标签,因为它不适用于所讨论的问题。说标准是对象是否具有维度是不太正确的。具有除两个维度以外的任何维度的数组也显示为值,而不是数据。正如你所说的:列表和其他有槽的对象都被列为数据,所以可能标准是长度(dim(obj))=2?
dat <- unclass(dat)
> ls()[ lapply( mget( ls() ) , class) == "data.frame" ]
[1] "air1"   "air2"   "dat"    "df"     "dfCord" "fsub"   "mtcars" "test"