library(gstat) # calculate sample variogram: v <- variogram(log(zinc) ~ 1, locations = ~ x + y, data = meuse) # fit a model to sample variogram: v.fit <- fit.variogram(v, model = vgm(1, "Sph", 900, 1)) # plot both: plot(v, model = v.fit) # view result # use ordinary kriging on a regular grid, in meuse.grid: z <- krige(formula = log(zinc) ~ 1, locations = ~ x + y, data = meuse, newdata = meuse.grid, model = v.fit) # view ordinary kriging prediction and prediction error levelplot(var1.pred ~ x + y, z, aspect=mapasp(z), main = "ordinary kriging prediction") # view result levelplot(sqrt(var1.var) ~ x + y, z, aspect=mapasp(z), main = "ordinary kriging prediction error") # view result