在R中绘制标准错误的黄土会导致整数溢出

时间:2012-10-29 02:37:37

标签: r double stack-overflow loess

我正在尝试将predict与R中的loess对象一起使用。有112406个观察值。 stats:::predLoess中有一条特定的行试图将N*M1乘以N=M1=112406。这会导致整数溢出并且函数会弹出。执行此操作的代码行如下(从predLoess源复制):

L <- .C(R_loess_ise, as.double(y), as.double(x), as.double(x.evaluate[inside, 
]), as.double(weights), as.double(span), as.integer(degree), 
as.integer(nonparametric), as.integer(order.drop.sqr), as.integer(sum.drop.sqr), 
as.double(span * cell), as.integer(D), as.integer(N), as.integer(M1), 
double(M1), L = double(N * M1))$L

有没有人解决过这个问题或者找到了解决这个问题的方法?我正在使用R 2.13。这个论坛的名称适合这个问题。

1 个答案:

答案 0 :(得分:2)

听起来你正试图获得所有N = 112406观测的预测。首先,你真的需要这样做吗?例如,如果您想要图形输出,那么只需在数据范围内的小网格上进行预测就更快。

如果确实需要112406预测,则可以将数据拆分为子集(例如每个大小为1000)并独立地获取每个子集的预测。这避免了在predLoess内形成单个巨大的矩阵。