这个问题的标题回顾了几年前回答的question。 data.table和knitr提出并解决了这个问题,似乎再次出现了来自RStudio和R Markdown的相对较新的R笔记本。
简而言之,正如data.table FAQ 2.21和2.22所述,使用时不应打印data.table:=,由引用运算符赋值。 R和knitr的打印行为是一个过去的问题,data.table人似乎花了很多精力修复(例如,参见their GitHub Issue #505)。但现在它又在R笔记本中再次发生,无论是在交互模式还是使用Knit到HTML。
previous question几乎涵盖了行为的最小,完整和可验证的示例。简而言之,当从R Notebook或R Markdown文档运行时,将打印此语句:
DT[, x := sum(y)]
从控制台或标准R脚本文件运行时不会打印。
我使用的是最新版本的data.table,可通过CRAN,v1.10.0和RStudio v1.0.44获得。
上一个问题中提到的一些解决方法,例如使用< - 或使用invisible()包装操作,可以使用R笔记本。它们不会过于繁琐地使用,但正如前一个问题中所指出的那样,它们并不是理想的修复方法。
我是这个神奇软件的感恩用户,但在内部工作方面仍然相当简单。如果我在某个地方遗漏了一些明显或重复的问题,我很抱歉。也许我应该用RStudio而不是在这里发布这个问题。干杯。