# [R-sig-Geo] Specifying neighbourhood structure for Spatial Eigenvector Mapping (SEVM) using ME() in spdep

Xochitl CORMON Xochitl.Cormon at ifremer.fr
Fri Sep 13 14:02:33 CEST 2013

```Dear list,

I found a message asking same kind of things I am wondering.
Unfortunately I dont find proper answers and thus would like to update
the topic. Maybe Xingli could you share what your learn from the authors
with us to the questions below?

Regarding the weights, is it imperative for me to use (1-((x/4t)^2)? Can
we just do an inverse weighting system like (1/x)? Can I also use
weighted (C or W) instead of binary (B) weighting? Lastly, can I specify
the threshold distance instead of using a spanning tree algorithm?

Regards,

Xo

###### Original message
(SEVM) using ME() in spdep
Xingli Giam    Xingli Giam
Jan 27, 2009 at 9:38 am
Dear people of the R-sig-Geo list,

I am very interested in the Spatial Eigenvector Mapping (SEVM) method in
analysing my spatial data as described in your papers (Griffith and
Peres-Neto
2006, Dormann et al. 2007).

However I am rather new to spatial analysis and therefore have some
questions
regarding the script provided in the appendix of Dormann et al. 2007.

Code
nb1.0 <- dnearneigh(coordinates(snouter_sp), 0, 1.0)

nb1.0_dists <- nbdists(nb1.0, coordinates(snouter_sp))

nb1.0_sims <- lapply(nb1.0_dists, function(x) (1-((x/4)^2)) )

ME.listw <- nb2listw(nb1.0, glist=nb1.0_sims, style="B")

sevm1 <- ME(snouter1.1 ~ rain + djungle, data=snouter.df, family=gaussian,

listw=ME.listw)

# modify the arguments "family" according to your error distribution

I hope someone who has experience in suing SEVM can give me a hand with
some of
the questions I have.

Regarding the weights, is it imperative for me to use (1-((x/4t)^2)? Can we
just do an inverse weighting system like (1/x)? Can I also use weighted
(C or
W) instead of binary (B) weighting in this line -ME.listw <- nb2listw(nb1.0,
glist=nb1.0_sims, style="B")? Lastly, can I specify t, the threshold
distance
instead of using a spanning tree algorithm?

Some background information about my data - it is in long-lat
coordinates, and
I have calculated great circle distances.

And the code I was trying to use:

nb <- dnearneigh(as.matrix(dat\$x_long, dat\$y_lat), 0, 4000, longlat=T)
nb_dists <- nbdists(nb, as.matrix(dat\$x_long, dat\$y_lat))
nb_sims <- lapply(nb_dists, function(x) (1/x))
ME.listw <- nb2listw(nb, glist=nb_sims, style="W", zero.policy=T)

sevm1 <- ME(lg.sp1 ~ lg.area, data=dat, family=gaussian, listw=ME.listw)
lmlag1 <- lm(lg.sp1 ~ lg.area + fitted(sevm1), data=dat)
moran<- moran.test(residuals(lmlag1), listw=ME.listw, na.action=na.omit,
zero.policy=T)
moran

Thank you in advance for your help! Hope to hear from you soon!

Many thanks,
Xingli
######

--

<>< <>< <>< <><

Xochitl CORMON
+33 (0)3 21 99 56 84

Doctorante en sciences halieutiques
PhD student in fishery sciences

<>< <>< <>< <><

IFREMER
Centre Manche Mer du Nord
150 quai Gambetta
62200 Boulogne-sur-Mer

<>< <>< <>< <><

```