我正在使用10个光栅文件计算回归。 我能够获得斜率和Rsquared的光栅输出,但是我有一些麻烦来产生残差和拟合值。
这是我的剧本:
##########################################
require(raster)
require(rgdal)
#Create list of files
rasters <- list.files(pattern='\\.tif$')
time <- 1:nlayers(rasters)
fun <- function(x) { if (is.na(x[1])){ NA } else { lm(x ~ time)$coefficients[2] }}
slope <- calc(rasters, fun)
time <- 1:nlayers(rasters)
fun <- function(x) { if (is.na(x[1])){ NA } else { lm(x ~ time)$;summary(m)$r.squared }}
Rsquared <- calc(rasters, fun)
time <- 1:nlayers(rasters)
fun <- function(x) { if (is.na(x[1])){ NA } else { lm(x ~ time)$;summary(m)$residuals }}
residuals <- calc(rasters, fun)
time <- 1:nlayers(rasters)
fun <- function(x) { if (is.na(x[1])){ NA } else { lm(x ~ time)$;summary(m)$fitted.values }}
fitted.values <- calc(rasters, fun)
##############################
拜托,有人可以帮助我吗?
非常感谢
gianca
答案 0 :(得分:0)
你需要学习lm功能。例如,要获得拟合(预测)值,您可以:
y = runif(10)
x = 1:10
m = lm(y~x)
predict(m)
但不是
summary(m)$fitted.values