3

这个问题的标题是指几年前回答的这个问题。使用 data.table 和 knitr 提出并解决的问题似乎在 RStudio 和 R Markdown 的相对较新的 R Notebooks 中重新出现。

简而言之,如 data.table 常见问题解答 2.21 和 2.22 中所述,在使用 := 时,不应打印 data.table,引用运算符的赋值。打印行为是 R 和 knitr 的一个过去问题,data.table 的人们似乎已经花费了很多精力来修复(例如,请参阅他们的 GitHub 问题 #505)。但现在 R Notebooks 再次出现这种情况,无论是在交互模式下还是使用 Knit to HTML。

一个问题几乎涵盖了行为的最小、完整和可验证的示例。简而言之,当从 R Notebook 或 R Markdown 文档运行时,将打印此语句:

DT[, x := sum(y)]

从控制台或标准 R 脚本文件运行时,它不会打印。

我正在使用可通过 CRAN、v1.10.0 和 RStudio v1.0.44 获得的最新版本的 data.table。

上一个问题中提到的一些解决方法,例如使用 <- 或使用 invisible() 包装操作,确实适用于 R Notebooks。它们使用起来并不过分繁琐,但正如在上一个问题中所指出的那样,它们并不是理想的修复方法。

我非常感谢这款出色软件的用户,但我对内部工作原理仍然相当不成熟。如果我在某处遗漏了一些明显或重复的问题,我深表歉意。也许我应该用 RStudio 而不是在这里发布这个问题。干杯。

4

0 回答 0