data.table Rstudio 环境面板中的对象未更新

data.table objects aren't updated in Rstudio environment panel

在使用 := 方法添加新变量后,环境面板中的 data.table 对象将不会更新其预览。但是 str(dt) 显示了正确的细节,并且将 dt 分配给新变量会导致在环境面板中进行正确的预览。

dt <- data.table(x = 1:10,
                 y = log(1:10),
                 z = (1:10)**2)
dt[, a := x + y, ]
dt[, b := x + z, ]
str(dt)
d <- dt

这是设计使然、已知错误还是有解决方案?这种行为很有趣,我很好奇发生这种情况的原因。

看起来 RStudio 仅在创建对象时或在您点击刷新按钮时更新环境面板(如@lukeA 所指)。
我不认为 bug 在这里是个好词,它可以是 RStudio 的设计理念,只在特定场景下更新对象的结构,而不是调查每个用户的调用是什么,以决定是否需要刷新。
但我知道这不是 RStudio 用户想要的行为,但我认为它更适合作为 功能请求 通过参考调用检测而不是 错误报告 .

与创建目录作为副作用的 dir.create() 相比,此行为是一致的。它也不会始终在工作目录面板中更新。