Перекрестная валидация "один-один-один" для IDW в R
Я пытаюсь проверить результаты интерполяции IDW с помощью перекрестной проверки "один-на-один", а затем получить среднеквадратическое отклонение, чтобы увидеть качество прогноза.
Из github Interpolation в R я нашел несколько подсказок и применил их в моем случае следующим образом:
У меня есть 63 местоположения, которое сохраняется как SpatialPointDataFrame с именем x_full_utm_2001
, Для каждого места есть прикрепленные данные об осадках, названные sumdata_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
}
Но я не знаю, почему всегда предупреждает меня об ошибке следующим образом:
размеры не совпадают: местоположения 124 и данные 63
Мне интересно, почему это работает так. Как мне это пересмотреть?