小编am1*_*234的帖子

在 R 中使用 data.table 包对列求和 - 出现 GForce sum(gsum) 错误

这是一个数据表:

Date     colA  colB  colC  .... month    year
01/23/15  2323  2323 2323        january  2015
.......
Run Code Online (Sandbox Code Playgroud)

在此 data.table 上,我尝试:1)按月和年对所有列值求和 2)在返回的子集中我想排除日期列

我在DT上设置的键如下:

setkey(DT, month, year)
Run Code Online (Sandbox Code Playgroud)

现在我运行此命令来实现上面步骤 1 和 2 中列出的操作:

DT[ ,lapply(.SD, sum, na.rm=TRUE), by=.(month , year), .SDcols= 2:(length(colnames(DT))-2) ]
Run Code Online (Sandbox Code Playgroud)

我从这里的 SO 帖子中得到了上面的例子。

当我运行这个......我收到以下错误:

Error in gsum(`colA`, na.rm = TRUE) : 
  Type 'character' not supported by GForce sum (gsum). Either add the prefix base::sum(.) or turn off GForce optimization using options(datatable.optimize=1)
Run Code Online (Sandbox Code Playgroud)

我不确定这意味着什么以及如何调试它......

任何援助将不胜感激。谢谢

r data.table

3
推荐指数
1
解决办法
4026
查看次数

标签 统计

data.table ×1

r ×1