"Data" 和 "Values" 在 R 中的区别

Difference between "Data" and "Values" in R

我最近从 STATA 过渡到 R。我正在使用 RSTudio 作为我的 IDE。我发现我的一些变量进入 RStudio 的 "Data" 部分,一些进入 "Values." 这些在 "Environment" window 中。我用谷歌搜索了一下,发现 R 中有一些我遗漏的主要概念。 "Data" 和 "Values" 有什么区别?如果有人可以 post 一个变量将转到数据部分以及何时将转到值部分的示例,那就太好了。

这里是 link 我指的是:https://support.rstudio.com/hc/en-us/community/posts/202201648-What-is-the-difference-between-Data-and-Values-in-the-Environment-pane-

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

您没有错过 "major concept in R"。您缺少的是 RStudio 出于自身原因(认为它无疑是在帮助用户)选择将数据帧与其他对象(例如没有 "data.frame" class 的列表分开)。 R 中没有 "Data" 或 "Values" class,您不会在 R 手册中找到这种区别。那是 RStudio 在工作,而不是 R 的一部分。当我阅读 Jonathon 对所引用问题的回答时,我的猜测是该决定是基于 R 对象是否具有维度属性,因为他说矩阵和框架也将列在"Values"。我认为更准确的标记是 "Dimensioned Objects" 和 "Non-dimensioned, non-language Objects"。我有点惊讶列表显示但原子向量没有显示(与乔纳森相反)。也许有一个开关可以放在某个地方以在该面板中显示原子向量的名称?

数据部分:

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

这会将其移动到“值”部分:

dat <- unclass(dat)

我承认有几次我想要这些信息并且(最终)通过 运行 像这样得到它:

> ls()[ lapply( mget( ls() ) , class) == "data.frame" ]
[1] "air1"   "air2"   "dat"    "df"     "dfCord" "fsub"   "mtcars" "test"  

这纯粹是RStudio的不同。 'Data' 对象是 S4 对象、环境和具有维度的对象。可能还有更多,这些是我目前发现的少数。 'Value' 对象是既不是函数也不是 'Data' 对象的对象。

编辑:经进一步检查,RStudio 中的 'Values' 似乎是小于 2 维的原子对象。希望对您有所帮助。