ラスタを使用していますが、7nレイヤのラスタスタックがあります。私は下の数式を使ってピクセルワイズ回帰を計算したいと思います。私はraster::calc
でそれをやろうとしましたが、私の機能は、メッセージで失敗しました:できませんラスタスタックでRのピクセル単位の回帰を計算できません
「エラーlm.fitで(X、Y、オフセット=オフセット、singular.ok = singular.ok、 ...) :0(非NA)の場合。
しかし、すべてのラスタOKです、と数字(NASだけではなく)を含有し、私はそれをプロットすることができ、 と私は式
cr.sig=lm (raster::as.array(MK_trend.EVI.sig_Only) ~ raster::as.array(stack.pet)+raster::as.array(stack.tmp)+raster::as.array(stack.vap)+raster::as.array(stack.pre)+raster::as.array(stack.wet)+raster::as.array(stack.dtr))
で一般的な線形回帰を計算することができます。しかし、私は
で層を積み重ねるときallData = stack(MK_trend.EVI.sig_Only,stack.dtr,stack.wet,stack.pre,stack.vap,stack.tmp,stack.pet)
と
# Regression Function, R2
lmFun=function(x){
x1=as.vector(x);
if (is.na(x1[1])){
NA
} else {
m = lm(x1[1] ~ x1[2]+x1[3]+x1[4]+x1[5]+x1[6]+x1[7])
return(summary(m)$r.squared)
}
}
カルク機能を試してみてください
エラーメッセージが表示されます。
私はRでかなり新しいです、そして、そうかもしれない、多分、いくつかの愚かな間違いがありますか? 処理を行うためには、何かヒントをいただきたいと思います。
エラーを再現するサンプルデータを作成するコードを提供できますか? – RobertH
@RobertH Robertさん、私のデータセットに問題があると思われるので、ZIPアーカイブ(1,7Gb)の形式でアップロードしてください。http://dropmefiles.com/PDZL0 –