为什么data.table会给大型数据集带来错误(整数与双精度)

时间:2014-03-18 15:29:09

标签: r integer double data.table

我是R初学者,我目前正在对大型水温数据集进行趋势分析(rkt),我正在使用data.table进行此分析。我的数据集如下所示:

      RiverStationID Year Month WaterTemp
   1:            362 1992     1      1.80
   2:            362 1992     2      5.90
   3:            362 1992     3      6.40
   4:            362 1992     4      6.30
   5:            362 1992     5      9.40

42654:           1519 2005    11     21.36

我使用的代码对大多数数据集都运行良好,除了一些比其他数据集大的数据集。代码一直给我这个错误:

Error in `[.data.table`(WT.mean, , j = as.list(c(unlist(rkt(Year,  : 
  Column 1 of result for group 49 is type 'integer' but expecting type 'double'. Column types must be consistent for each group.

代码如下所示:

WT.mean[, j=as.list(c(unlist(rkt(Year,WaterTemp)),count=length(WaterTemp))),
           by=list(RiverStationID, Month)]

我已经查看了此论坛中提出的类似问题的解决方案,但他们似乎没有解决此错误。 'Year'列中没有错误的值,它应该是一个整数。我意识到每当我减小数据集的大小时,代码就会停止给出错误。但是我不想将这么大的数据集分成小集并进行分析,因为它将花费很长时间并且不能解决使用数据表的目的。我该怎么解决这个问题?

0 个答案:

没有答案