2016-04-18 7 views
0

Geyerモデルをポイントパターンに合わせようとしていますが、問題なく処理できます。しかし、診断プロットを確認したいときに問題が発生します。Geyerモデルのdiagnose.ppmでSmoothed残差をプロットするエラー

Error in as.vector(rasterx.mask(W)) : error in evaluating the argument 'x' in selecting a method for function 'as.vector': Error in validate.mask(w) : w is not a binary mask

:私はそれは問題なく4枚のパネルをプロットしたものが、私は(平滑化残留対策のためだけに頼むとき、私は次のエラーを取得する「なめらか」=これは「」引数に「すべて」の値を与えた場合

再現コードは、次のとおりです。?

library(spatstat) 
#generate a pattern 
pattern <- rpoispp(300) 
#generate a covariate 
cov <- rnoise(rgen = rnorm, dimyx=32, mean=2, sd=1, w = pattern$window) 

#fit the model 
fit <- ppm(pattern ~ cov, Geyer(r = 0.01, s = 0.02)) 

#plot diagnostics 
diag <- diagnose.ppm(fit, type = "pearson", which = "all") #this works 
diag <- diagnose.ppm(fit, type = "pearson", which = "smooth") #this doesn't 

私は同じ運とtype=で許可されたすべてのオプションを試してみました

任意のアイデア私が間違っている可能性があります(私はそれが私ですasumeます)またはどのように私はスムーズにそれを得ることができます残りの方法は残っていますか?

答えて

1

これはおそらくplot.diagppmのバグです。私は現在休暇中ですので、今はたくさんの行動をとることはありません。私はhttps://github.com/spatstat/spatstat/issuesのバグを報告し、うまくいけばエイドリアンはそれをあまりにも長く修正するだろう。

今の回避策:

library(spatstat) 
#generate a pattern 
pattern <- rpoispp(300) 
#generate a covariate 
cov <- rnoise(rgen = rnorm, dimyx=32, mean=2, sd=1, w = pattern$window) 

#fit the model 
fit <- ppm(pattern ~ cov, Geyer(r = 0.01, s = 0.02)) 

#plot diagnostics 
diag <- diagnose.ppm(fit, type = "pearson", which = "smooth", plot.it = FALSE) 
s <- diag$smooth$Z 
plot(s) 
1

ただ、これはバグであることを確認しました。これは、次の開発バージョンspatstat(バージョン1.45-0.026)で修正されています。これを私たちの注意を喚起してくれてありがとう。

+0

素晴らしい!もう一度、ありがとう! –

関連する問題