RStudio全球环境无法反映对data.table的就地更改

时间:2018-10-03 22:11:59

标签: r data.table rstudio

背景:我在Linux Ubuntu 18.04.1 LTS上使用RStudio 1.1.456,内核:4.18.11-041811-generic,x86-64 cpu体系结构(这很重要,但以防万一...)。

假设我输入以下代码来构建一个简单的数据表:

library(data.table)
DT = data.table(group = c("b","b","b","a","a","c"))

> DT
   group
1:     b
2:     b
3:     b
4:     a
5:     a
6:     c

在“环境”选项卡中,Rstudio显示对象DT,其中包含6个观测值和1个变量。

接下来,假设我输入以下命令(功能的特定选择.N不会改变任何内容):

> DT[,numInGroup := .N,by = group]

RStudio的“全球环境”小组继续声称DT只有1个变量。但是,输入head(DT)揭示确实确实添加并正确计算了变量numInGroup

> head(DT)
   group numInGroup
1:     b          3
2:     b          3
3:     b          3
4:     a          2
5:     a          2
6:     c          1

此外,View(DT)还显示了变量。最后,如果我执行

> DT2 <- DT

“全局环境”选项卡将DT2显示为具有两个变量。

最后,如果我随后执行

> DT <- DT2

它仍然不能显示正确数量的变量(也许这很明显-我不习惯R-但这不是我期望的那样)。如果我这样做

> DT <- copy(DT2)

或者我愿意

> rm(DT)
> DT <- DT2

很明显,这比我的薪水等级还高。这里发生了什么?我对R / RStudio不了解什么?

0 个答案:

没有答案