0

空間移動の潜在的な発生点を予測するために予測機能を使用しようとしています。このために、元の空間にプレゼンス ポイント、元の空間に 17 のラスター レイヤー、転送空間に 17 のラスター レイヤーをロードした dismo パッケージを使用します。すべてのラスターは、範囲、グリッド解像度、および次元が同一であり、地理座標のみが異なります。元のスペースと転送スペースは異なる大陸にあり、トレーニングとテストでサンプルを分割するために kfold 技術を使用しました。

maxent モデルを次のように適合させます。

me<-maxent(predictor, training)

しかし、転送空間に適合モデルを投影できず、次のように返されます。

pred<-predict(me,predictor2)
    Erro em .local(object, ...) : missing layers (or wrong names)

*予測値 1 と 2 はラスター スタック ファイルにあります

*すべてのディレクトリが正しく選択され、ファイルがディレクトリに見つかりました。

*両方とも、スタックには地理空間ごとに同じ変数が含まれます

4

2 に答える 2

0

predict のラスター メソッドは、'newdata' ラスター (オブジェクト) が最初の引数で、モデルが 2 番目の引数であることを指定します。

## S4 method for signature 'Raster'
predict(object, model, filename="", fun=predict, ext=NULL, 
const=NULL, index=1, na.rm=TRUE, inf.rm=FALSE, factors=NULL, 
format, datatype, overwrite=FALSE, progress='', ...)

試す:

pred<-predict(predictor2, me)
于 2020-11-10T09:10:09.580 に答える
0

それは「間違った名前」を指しています。これはそれを修正することができます

names(predictor2) <- names(predictor)

ただし、これが正しいこと (つまり、2 つの RasterStack オブジェクトが同じレイヤーを同じ順序で持っていること) を確認してください。

names(predictor2)
names(predictor)
于 2015-09-30T22:25:36.287 に答える