首页 > 解决方案 > 使用 Nvim-R RDSendSelection 和 data.table `:=` 时避免返回数据

问题描述

:=使用in创建或更新列时data.table,将不可见地返回结果。因此,当运行下面的代码时,不会返回任何数据,只显示图形。

使用Nvim-R会在使用RDSendLine. 但是,如果所有行都被突出显示并使用RDSendSelection数据执行,则也会在带有 的行中返回:=。如何避免这种情况?

library(data.table)
library(lattice)
x <- 1:100
y <- runif(100, 0, 100)
d.data <- data.table(x = x, y = y)
d.data[, z := x * y]                  # Output created
d.data <- d.data[, z := x * y]        # no Output
invisible(d.data[, z := x * y])       # no Output
xyplot(y ~ x)

非常感谢任何提示。

标签: rvimdata.table

解决方案


vim 的 Nvim-R 插件的提供者回答了这个问题

Usinglet R_source_args = 'print.eval = FALSE' 不打印评估的输出,因此避免了带有 ':=' 的语句的输出。作为副作用,所有其他输出也被省略;例如。head(d.data), plot(x~y, d.data).


推荐阅读