2017-02-17 146 views
2

我想在R中使用自動填充函數對數據集應用通用克立格。我想爲預測點創建我自己的自定義空間網格(for autokrige的new_data參數)。我正在使用R版本3.2.2(64位)和RStudio版本0.99.486。下面是我到目前爲止已經完成:如何使用自定義預測空間網格通用克里金使用R中的自動Krige

library(automap) 
library(sp) 
library(gstat) 
library(raster) 
library(rgdal) 

data(meuse) 
coordinates(meuse) <- ~x + y 
proj4string(meuse) <- CRS("+init=epsg:28992") 

下面的代碼從stackexchange here接收(歸功於傑弗裏·埃文斯),並用於創建預測值的自定義空間網格:

ext_meuse <- as(extent(meuse), "SpatialPolygons") 
r_meuse <- rasterToPoints(raster(ext_meuse, resolution = 59), spatial = TRUE) 
proj4string(r_meuse) <- proj4string(meuse) 

然後我試圖應用通用克里格(在「DIST」列迴歸)使用autoKrige:

kriging_result = autoKrige(zinc~dist, meuse, r_meuse) 

以下錯誤,然後收到:

錯誤model.frame.default(terms.f,newdata,na.action = na.action,: 對象不是矩陣此外:警告消息: 'newdata' 有3102行,但可變發現有1行

我是否在網格創建(r_meuse)時犯了錯誤?有沒有更好的方法爲預測數據創建網格?到目前爲止,我發現的所有示例都使用meuse.grid數據,但是我希望將通用克立格應用於尚未擁有自己的網格數據的其他數據。

回答

0

我相信這裏的問題在於,您在執行英國時沒有預測器,dist,出現在r_meuse中。這是一個問題,因爲該線性信息需要進行預測。因此,r_meuse需要是SpatialPointsDataFrame並且dist已定義。

相關問題