1

が に設定されている場合でも、応答変数または予測変数に欠損値 ( )が含まれている場合、関数idw()およびkrige()fromパッケージはエラーを報告し続けます。gstatNAna.actionna.omit

require(gstat)
data(meuse)
coordinates(meuse) = ~x+y
data(meuse.grid)
gridded(meuse.grid) = ~x+y

meuse2 <- as.data.frame(meuse)
meuse2[1, 'zinc'] <- NA
meuse2 <- SpatialPointsDataFrame(SpatialPoints(meuse), meuse2)

# idw response var
int <- idw(zinc ~ 1, meuse2, meuse.grid, na.action = na.omit)
# Error: dimensions do not match: locations 310 and data 154

# krige response var
m <- vgm(.59, "Sph", 874, .04)
int <- krige(zinc ~ 1, meuse2, meuse.grid, model = m, na.action = na.omit)
# Error: dimensions do not match: locations 310 and data 154

# krige predictor var
meuse3 <- as.data.frame(meuse)
meuse3[1, 'dist'] <- NA
meuse3 <- SpatialPointsDataFrame(SpatialPoints(meuse), meuse3)
int <- krige(zinc ~ dist, meuse3, meuse.grid, model = m, na.action = na.omit)
# Error: dimensions do not match: locations 310 and data 154

これはバグですか?実際に手動でデータをフィルタリングし、結果を元のデータ フレームにマージする必要がありますか? もっと簡単な解決策はありませんか?では、なぜそのna.actionオプションがあるのでしょうか。

4

1 に答える 1