adeverse / adespatial

Multivariate Multiscale Spatial Analysis
http://adeverse.github.io/adespatial/
34 stars 7 forks source link

aem.time send a warning and an error when printing results #27

Open guiblanchet opened 9 months ago

guiblanchet commented 9 months ago

This is a slightly tricky problem because, if I run the first line of the example code of the aem.time function :

out <- aem.time(20, moran = TRUE)

There is the following warning :

Warning messages: 1: In mat2listw(mat01) : style is M (missing); style should be set to a valid value 2: In mat2listw(mat01) : no-neighbour observations found, set zero.policy to TRUE; this warning will soon become an error

But there are no error. However, when calling the object out, there is the following error message :

Error in print.listw(x) : regions with no neighbours found, use zero.policy=TRUE

After a bit of digging and some clarification from https://github.com/r-spatial/spdep/issues/136, found that the warnings and error can be solved by changing L134 of the aem.time function from

lw <- mat2listw(mat01)

to

lw <- mat2listw(mat01, style = "W", zero.policy = TRUE)

sdray commented 9 months ago

Hi Guillaume, I will correct but are you sure that you need row standardization (i.e., style = "W") ? If you want to keep weights untransformed, style should be "B"

Cheers

guiblanchet commented 9 months ago

You are right ! Using style="B" would be better.