R笔记本和R Markdown文档"欺骗"通过data.table`:=`赋值?

时间:2016-12-16 00:12:12

标签: r data.table r-markdown rnotebook

这个问题的标题回顾了几年前回答的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而不是在这里发布这个问题。干杯。

0 个答案:

没有答案