Spatial autocorrelation in rda
Closed this issue · 1 comments
aguilart commented
I am wondering what is the best way to take into account spatial autocorrelation in RDA. My best attempt has been as follows:
data(mite)
data(mite.xy)
# Doing pcm on the coordinate data
mite.pcnm <- as.data.frame(scores(pcnm(dist(mite.xy))))
# doing the RDA
mite.var <- rda(mite ~ Condition(mite.pcnm$PCNM1, mite.pcnm$PCNM2))
It is a bit complicated that under Condition I have to write each PCNM axis, but I have not found a way to put the whole dataframe.
Is this approach valid?
Thanks
CA
jarioksa commented
Yes, this is clumsy. However, there may be some shortcuts:
Condition()
accepts matrix argument (instead of data frame). Formulaemite ~ Condition(as.matrix(mite.pcnm))
ormite ~ Condition(as.matrix(mite.pcnm)[, 1:2])
should work.- If formula interface is not used, input matrices can be data frames which are expanded to model matrices, or matrices which are handled like they are. If you only have partial terms, the constraints can be empty:
rda(mite, , mite.pcnm)
orrda(mite, , pcnm[, 1:2])
.