使用DT = data.table(type=rep(c("b","a"),each=2), value=1:4)
创建以下data.table:
type value
1: b 1
2: b 2
3: a 3
4: a 4
代码DT[, `:=`(text=max(value)), by=type]
效果很好:
type value test
1: b 1 2
2: b 2 2
3: a 3 4
4: a 4 4
相同的代码(data.table::
调用部分除外)DT[, data.table::`:=`(text=max(value)), by=type]
不起作用并返回以下错误:
Error in data.table::`:=`(text = max(value)) :
Check that is.data.table(DT) == TRUE.
Otherwise, := and `:=`(...) are defined for use in j,
once only and in particular ways.
See help(":=").
有人可以告诉我为什么我不能像:=
那样调用data.table::`:=`()
函数,但可以将data.table
等其他函数称为data.table::data.table
吗?
请帮助我,因为我想在我的包裹中使用data.table::`:=`()
。
非常感谢!