У меня есть набор данных с наблюдениями, и мне нужно интерполировать его по сетке. Я использовал функцию idw из пакета gstat. Это делает интерполяцию, но оставляет некоторые значения как NA. Я также попробовал функцию интерполяции от akima, специализирующуюся на extrap = TRUE, но она создала нереальные значения c. Есть у кого-нибудь идея, как я мог бы выполнить эти пропущенные значения? Код ниже:
winter1 <- winter
winter1$x <- winter1$Lon
winter1$y <- winter1$Lat
coordinates(winter1) = ~x + y
dx <- as.numeric(c(9,30.5))
dy <- as.numeric(c(53.8,66))
grd <- expand.grid(x = seq(from = dx[1], to = dx[2], by = 0.1), y = seq(from = dy[1], to = dy[2], by = 0.1))
coordinates(grd) <- ~x + y
winter_idw <- idw(formula = winter$Secchi ~ 1, locations = winter1, newdata = grd)
winter_idw <- as.data.frame(winter_idw)
world <- ne_countries(scale = "medium", returnclass = "sf")
class(world)
rng = range(c(0,10))
p <- ggplot(data = world)+
geom_raster(data = v, mapping=aes(x = x, y = y, fill=var1.pred))+
scale_fill_gradient2(low = "blue",
mid = "yellow",
high = "red",
breaks=seq(0,10,2),
midpoint=5,
limits=c(floor(rng[1]), ceiling(rng[2])))+
borders("world", colour="black",xlim = c(9,30.5), ylim = c(53.8,66))+
geom_sf(fill="antiquewhite") +
coord_sf(xlim=c(9,30.5), ylim=c(53.8,66))+
theme(plot.title = element_text(hjust = 0.5))
Я получаю такую карту:
Заранее благодарю за помощь!