저는 래스터로 작업 중이며 7n 레이어의 래스터 스택을 사용하고 있습니다. 아래 공식을 사용하여 픽셀 단위 회귀를 계산하고 싶습니다. 내가 raster::calc
와 함께 일을하려고했지만, 내 함수는 메시지와 함께 실패 lm.fit에서재미로 래스터 스택에서 R의 픽셀 단위 회귀를 계산할 수 없습니다.
'오류 (= 오프셋 오프셋, X, Y, singular.ok = singular.ok, ...) : 0 (비 NA) 케이스. '
그러나 모든 래스터가 OK이고, 숫자 (단지의 NA)를 포함하고, I는 그것을 플롯하고 I 화학식
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)
시도 CALC 기능
# 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 친애하는 로버트, 내 데이터 집합에 문제가있는 것 같아서 ZIP 아카이브 (1,7Gb) 형식으로 업로드하십시오. http://dropmefiles.com/PDZL0 –