【发布时间】:2020-02-18 10:19:57
【问题描述】:
我从一个景观的多个采样点收集了数据。 每个单独的样本都有一个唯一的因变量 (y) 和与其他 9 个样本共享的解释变量:
DependentVar<-rnorm(60,mean = 9.5,sd=.5)
Temperature<-rep(c(23.5,18,26.1,24.7,20.8,20),each=10)
SpatData<-data.frame(x = rep(runif(6,0,100),each=10), y = rep(runif(6,0,100),each=10))
SpatData$Temperature<-Temperature
SpatData$DependentVar<-DependentVar
我已经构建了一个线性模型来测试温度的影响。关于因变量:
SpatLM<-lm(DependentVar~Temperature,data = SpatData)
然后我尝试像这样测试残差的自相关:
library(DHARMa)
sims<-simulateResiduals(SpatLM)
testSpatialAutocorrelation(sims, x=SpatData$x,y=SpatData$y)
我收到的信息是:
testSpatialAutocorrelation(sims, x = SpatData$x, y = SpatData$y) 中的错误: 测试空间自相关需要唯一的 x,y 值 - 如果每个位置有多个观测值,请使用 recalculateResiduals 函数来聚合每个位置的残差,或者从拟合对象中提取残差,并独立绘制/测试它们中的每一个以进行空间重复子组(一种典型的场景是重复空间观察,在这种情况下,可以分别绘制/测试每个时间步长的时间自相关)。请注意,后者必须在 testSpatialAutocorrelation 之外手动完成。
无论有没有分组,使用recalculateResiduals() 似乎都不起作用:
simsrecalc<-recalculateResiduals(sims,group = SpatData$Temperature)
有人知道如何解决这个问题吗?
【问题讨论】:
标签: r spatial autocorrelation