の複数の属性を「ラスタライズ」する必要がありますSpatialPolygonsDataframe
。次に、各ラスター レイヤーの値に、指定されたベクター (「gp」など) の値を掛けます。wrld_simpl
最初からデータセットを使用していmaptools
ます。wrld_simpl には POP2005 という属性があり、年 (2010:2100) の推定人口に対応する属性をさらに追加します。各属性を手動でラスタライズし、新しい値を個別に計算してから、これらすべての手順を何度も繰り返す必要がないように、ループまたは関数を作成しようとしています。
data(wrld_simpl)
gp <- seq(1,246)
myraster <- raster(nrow = 572, ncol = 1440, xmn = -180, xmx = 180, ymn= -58, ymx = 85)
rasterize() 関数では、spatialPolygonsDataframe から特定の属性を選択できないため、代わりに raster:::.polygonsToRaster() を使用して (まったく同じことを行います)、属性をラスター レイヤーに変換しました。
rastergp <- raster:::.polygonsToRaster(wrld_simpl, myraster, field = wrld_simpl$POP2005)
stackraster <- stack(rastergp, gp)
estimation <- calc(stackraster, fun = function(x) x[1]*x[2])
続行する方法について何か提案はありますか? どうもありがとう!