1

我正在尝试与 R 中predictloess对象一起使用。有 112406 个观察值。里面有一个特定的行,stats:::predLoess它试图乘以N*M1where 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。这个论坛的名字很适合这个问题。

4

1 回答 1

2

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

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

于 2012-10-29T05:17:05.617 回答