Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中为IDW保留一个交叉验证_R_Interpolation_Cross Validation - Fatal编程技术网

在R中为IDW保留一个交叉验证

在R中为IDW保留一个交叉验证,r,interpolation,cross-validation,R,Interpolation,Cross Validation,我试图通过省略一个交叉验证来检查IDW插值的结果,然后得到RMSE以查看预测的质量 从github中,我找到了一些提示,并将其应用到我的案例中,如下所示: 我有63个位置保存为空间点数据帧,名为x\u full\u utm\u 2001。对于每个位置,都有附加的降水数据,名为sumdata\u 2001 idw.out<- vector(length = length(sumdata_2001$Jan)) for (i in 1:length(sumdata_2001$Jan)) {

我试图通过省略一个交叉验证来检查IDW插值的结果,然后得到RMSE以查看预测的质量

从github中,我找到了一些提示,并将其应用到我的案例中,如下所示:

我有63个位置保存为空间点数据帧,名为
x\u full\u utm\u 2001
。对于每个位置,都有附加的降水数据,名为
sumdata\u 2001

idw.out<- vector(length = length(sumdata_2001$Jan))
for (i in 1:length(sumdata_2001$Jan)) {
  idw.out[i]<-idw(sumdata_2001$Jan~1, x_full_2001_utm[-i, ], x_full_2001_utm[i, ])$var1.pred
}

idw.out我猜你的数据中是NA。这有待观察,因为您的示例不可复制。另外,
gstat
包支持执行交叉验证,因此无需编写自己的循环。最后,我建议使用10倍交叉验证,即省略10%的数据,而不是一次一个。感谢您的回复!在此步骤之前,我已处理了数据。不应该有任何NA值。在
gstat
包中,我注意到一个可以应用交叉验证的程序,名为
krige.cv
。它也适用于IDW插值吗?
@Paul Hiemstra
我使用以下代码尝试了
krige.cv
IDW.output请举例说明,否则很难提供反馈。此外,如果使用正确的语法,
krige.cv
将使用
idw
。有关更多详细信息,请参阅
gstat
文档。