为什么 RStudio 的控制台中有时不打印 data.table?

IVI*_*VIM 5 r data.table

我发现,当我尝试在控制台 a 中打印时data.table(例如,通过键入dt并按 Enter 键),它通常不会打印任何内容。所以我必须输入两到三遍(比如dt;dt;dt)然后它就会被打印出来。

没什么大不了的,但我很好奇为什么会发生这种情况?是我做的不对,还是data.table包装出了问题?

抱歉,我无法进行 reprex - 因为这种情况似乎并没有确定性地发生。但它经常发生在对 data.table 进行一系列的修改之后(ef dt[, a:=b+c][, aa:=2*a]

sin*_*dur 7

[]这是一个已知问题,可以通过在末尾添加额外内容来解决,例如dt[, a:=b+c][, aa:=2*a][]

来自data.table 常见问题解答

为什么在使用打印结果到控制台DT后有时需要输入两次?:=

这是让#869工作的一个不幸的缺点。如果:=在函数内部使用 a 且函数DT[]结束前没有 no ,则下次DT在提示符处键入时,将不会打印任何内容。重复DT将打印。为了避免这种情况:在函数的DT[]最后一个后面添加一个。:=如果这是不可能的(例如,它不是您可以更改的功能),则保证print(DT)DT[]提示时打印。和以前一样,建议[]在查询末尾添加额外的内容来更新然后打印;:=例如> DT[,foo:=3L][]