R中的data.table:为什么不能调用data.table ::`:=`()?

时间:2017-03-28 09:46:00

标签: r data.table

使用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::`:=`()

非常感谢!

0 个答案:

没有答案