0

R で gstat パッケージを使用して、共変量を追加していくつかの予測を行おうとしています。

次の方法で gstat オブジェクト g を生成します。

# We use the prediction sample for pm2.5 (primary) and pm10 (secondary) variable
g <- gstat(NULL, "ln.pm2.5", log(pm25.obs) ~ log(pd$pm25.LE), pd)

# Append the other variables to g
g <- gstat(g, "ln.pm10", log(pm10.obs) ~ log(ndpm10$pm10.LE), ndpm10)

v <- variogram(g)
# Check the output and plot the result
v
plot(v)
# Define the initial variogram model and append it to g
g <- gstat(g, model=vgm(0.04, "Sph", 600, 0.1), fill.all=TRUE)
#g <- gstat(g, model=vgm(0.10, "Sph", 200, 0.03), fill.all=TRUE)# for region B
# Use the LMC for fitting
g.fit <- fit.lmc(v, g)
g.fit
plot(v, g.fit)

したがって、 g オブジェクトは次のようになります。

> g
data:
ln.pm2.5 : formula = log(pm25.obs)`~`log(pd$pm25.LE) ; data dim = 218 x 10
ln.pm10 : formula = log(pm10.obs)`~`log(ndpm10$pm10.LE) ; data dim = 958 x 10
variograms:
                    model      psill range
ln.pm2.5[1]           Nug 0.06798841     0
ln.pm2.5[2]           Sph 0.10237623   600
ln.pm10[1]            Nug 0.10325992     0
ln.pm10[2]            Sph 0.06879960   600
ln.pm2.5.ln.pm10[1]   Nug 0.08378829     0
ln.pm2.5.ln.pm10[2]   Sph 0.08392523   600

この g オブジェクトを予測に使用しようとすると、次のエラーが発生します。

> > tmp1 <- predict.gstat(g, newdata=R1.ctm.data) Error in gstat.formula.predict(d$formula, newdata, na.action = na.action,  :   
> NROW(locs) != NROW(X): this should not occur In addition: Warning
> messages: 1: 'newdata' had 2220 rows but variables found have 218 rows
> 2: 'newdata' had 2220 rows but variables found have 218 rows

ここで、R1.ctm.data の構造は次のとおりです。北距、東距、pm2.5 および pm10 (共変量) 情報を含む 2220 観測 SpatialPoints DataFrame。共変量を削除しても問題はありません。

ご協力いただきありがとうございます

4

1 に答える 1

0

これは再現できないので、推測でしかありません。共変量に欠損NA値 ( ) が含まれている可能性があります。gstatオブジェクトを作成する前、および を呼び出す前に、応答と共変量に欠損値があるレコードが削除されていることを確認してくださいpredict

于 2015-02-24T10:12:23.743 に答える