【发布时间】:2016-02-12 00:13:50
【问题描述】:
我想在不加载 data.table 的情况下使用 data.table 中的 := 运算符。例如对于下面的data.table,我想添加另一个名为error的列:
DT <- data.table::data.table(station = rep(1:1,52560), mod = rnorm(1*52560),obs = rnorm(1*52560))
如果我做以下一切顺利,但是,我很困惑不参考包data.table(未加载data.table库)它是如何工作的?!
DT[ , `:=`(error = mod - obs)]
如何使用 data.table::::= 重写以上行?!!
【问题讨论】:
-
如果不使用数据表对象的任何功能,创建数据表对象的目的是什么
-
如果你想包含对 data.table 函数的所有引用,你还需要
[.data.table。但我同意 rawr,只需加载包即可。 -
如果您要在包中使用 data.table 语法,我建议您导入整个包。我已经做到了。更安全,更省心。
-
@RichardScriven 我正在导入包,我别无选择,因为如果我不导入,data.table 将无法工作。单独导入会解决这个问题吗?
-
@newbie -
data.table::set(DT, i=NULL, j="blah", value=1)- 访问列名可能需要[.data.table。
标签: r data.table packages loading require