NDVI/강수의 래스터 스택에서 픽셀별로 회귀 분석에서 잔차를 추출하려고합니다. 내 스크립트는 내 데이터의 작은 부분으로 실행할 때 작동합니다. 하지만 내 연구 영역 전체를 실행하려고 할 때 : "setValues (out, x) 오류 : 값은 숫자, 정수, 논리 또는 요인이어야합니다."픽셀 회귀에 의한 픽셀의 잔차 추출
lm은 두 기울기를 모두 추출 할 수 있기 때문에 작동합니다. 및 가로 채기. 나는 잔류 물을 추출 할 수 없다.
어떻게 수정 될 수 있는지 알고 싶습니다. 여기
setwd("F:/working folder/test")
gimms <- list.files(pattern="*ndvi.tif")
ndvi <- stack(gimms)
precip <- list.files(pattern="*pre.tif")
pre <- stack(precip)
s <- stack(ndvi,pre)
residualfun = function(x) { if (is.na(x[1])){ NA } else { m <- lm(x[1:6] ~ x[7:12], na.action=na.exclude)
r <- residuals.lm(m)
return (r)}}
res <- calc(s,residualfun)
그리고 내 데이터는 다음과 같습니다 :
여기 내 스크립트입니다 https://1drv.ms/u/s!AhwCgWqhyyDclJRjhh6GtentxFOKwQ
흠, 아마 수식 인수에 문제가있다? 명시 적으로 열을 호출합니다. –
데이터에 대한 링크가 더 이상 사용되지 않습니다. – Borealis