У меня есть кадр данных с ежедневными наблюдениями, которые я хотел бы интерполировать. Я использую automap для создания вариограммы на каждый день, а затем применительно к новым данным. Я пытаюсь запустить цикл и поместить результаты в новый dataframe. К сожалению, кадр данных с результатами содержит только последний предсказанный день.R autoKrige loop (пакет automap)
coordinates(mydata) <- ~lat+long
coordinates(new_data) <- ~lat+long
df <- data.frame(matrix(nrow=50,ncol=10)) #new data frame for predicted valeus
for(i in 1:ncol(mydata))
kriging_new <- autoKrige(mydata[,i],mydata,newdata)
pred <- kriging_new$krige_output$var1.pred
df[,i] <- data.frame(pred)
Результат выглядит так, все столбцы должны быть заполнены значениями, а не только последний:
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10
1 NA NA NA NA NA NA NA NA NA 12.008726
2 NA NA NA NA NA NA NA NA NA 6.960499
3 NA NA NA NA NA NA NA NA NA 10.894787
4 NA NA NA NA NA NA NA NA NA 14.378945
5 NA NA NA NA NA NA NA NA NA 17.719522
Я также получить предупреждение, говоря:
Warning message:
In autofitVariogram(formula, data_variogram, model = model, kappa = kappa, :
Some models where removed for being either NULL or having a negative sill/range/nugget,
set verbose == TRUE for more information
Если я автоматически создаю autoKrige для каждой строки, все работает нормально. Кажется, что цикл работает не так, как обычно. Это какая-то проблема в пакете automap?
Большое спасибо!
Право! Большое спасибо! Пытался понять это слишком долго, должно быть, были полностью скобки слепы :-) Он работает сейчас! – Tom