[R-sig-eco] Missing species names in metaMDS object

Gavin Simpson ucfagls at gmail.com
Fri Oct 25 18:52:22 CEST 2013


As your output *clearly* tells you, `spp_sites_mat` is a *list*:

str(spp_sites_mat)
List of 186  <------------------------------------------------------------------------------------
HERE!
 $ ADON.CUPA: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
 $ AEGI.GENI: num [1:450] 0 0 0 0 0 1 1 0 1 0 ...
 $ AINS.TRAC: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...

not a matrix or data frame. I suspect that is your problem.

HTH

G

2013/10/24 hilasegre <hilasegre at gmail.com>:
> Hello,
> I'm trying to run a nMDS on presence/absence data.
> I have a species over sites matrix with 450 sites and 186 species, in
> similar structure to the matrix varespec shown in this tutorial
> http://cc.oulu.fi/~jarioksa/opetus/metodi/vegantutor.pdf.
> The only difference is the data is 0/1 and not frequncy.
>
> metaMDS runs fine and i am able to show the sites scores using ordiplot, but
> as for species - i can plot the scores but not the labels. This might be
> because the item spcies is missing these values. This is my metaMDS object
> species item:
> $ species   : num [1:186, 1:2] -0.0249 -0.11 -0.4334 -0.6566 0.4679 ...
>   ..- attr(*, "dimnames")=List of 2
>   .. ..$ : NULL
>   .. ..$ : chr [1:2] "MDS1" "MDS2"
>   ..- attr(*, "shrinkage")= Named num [1:2] 0.413 0.24
>   .. ..- attr(*, "names")= chr [1:2] "MDS1" "MDS2"
>   ..- attr(*, "centre")= Named num [1:2] -0.1466 0.0388
>   .. ..- attr(*, "names")= chr [1:2] "MDS1" "MDS2"
>
> This is code i ran:
> Sps.mds=metaMDS(spp_sites_mat, distance="jaccard", k=2,autotransform=F)
>
> and this is the data matrix:
> str(spp_sites_mat)
> List of 186
>  $ ADON.CUPA: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ AEGI.GENI: num [1:450] 0 0 0 0 0 1 1 0 1 0 ...
>  $ AINS.TRAC: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ AJUG.CHAM: num [1:450] 0 1 0 0 0 0 0 0 0 0 ...
>  $ ALCE.ACAU: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ALKA.STRI: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ALLI.STAM: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ALOP.UTRI: num [1:450] 0 1 1 0 0 0 0 0 1 0 ...
>  $ ALYS.MINU: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ANAG.ARVE: num [1:450] 0 0 0 1 0 0 0 0 0 0 ...
>  $ ANCH.AEGY: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ANDR.TELE: num [1:450] 1 1 0 0 0 0 0 0 1 0 ...
>  $ ANEM.CORO: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ANTH.HEBR: num [1:450] 1 0 0 1 1 0 0 0 0 0 ...
>  $ ANTH.PSEU: num [1:450] 0 1 1 0 0 0 0 0 0 0 ...
>  $ ANTI.ORON: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ AREN.LEPT: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ARTE.SQUA: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ASPH.RAMO: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ASTR.ASTE: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ASTR.CALL: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ASTR.HAMO: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ASTR.PELE: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ASTR.SP. : num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ASTR.TRIB: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ATRA.CANC: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ AVEN.BARB: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ AVEN.STER: num [1:450] 1 1 1 1 0 0 0 0 0 1 ...
>  $ BELL.FLEX: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ BISC.DIDY: num [1:450] 0 0 0 0 0 0 0 0 0 1 ...
>  $ BORA.SP. : num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ BROM.ALOP: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ BROM.FASC: num [1:450] 0 0 0 0 1 1 1 1 1 0 ...
>  $ BROM.LANC: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ BROM.SCOP: num [1:450] 0 1 0 1 1 0 0 0 0 0 ...
>  $ CALE.ARVE: num [1:450] 0 0 1 1 0 0 0 0 0 0 ...
>  $ CALE.PALA: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CAMP.ERIN: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CAMP.HIER: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CAMP.SP. : num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CART.TENU: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CATA.LUTE: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CATA.RIGI: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CENT.CROC: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CHAE.TRIC: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CHIL.IPHI: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CHRY.CORO: num [1:450] 0 0 0 0 0 0 0 1 0 0 ...
>  $ CLYP.JONT: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ COMP.SP. : num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CONV.ALTH: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CORO.SCOR: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CRAS.ALAT: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CREP.ASPE: num [1:450] 1 0 0 1 1 0 0 0 0 0 ...
>  $ CREP.SANC: num [1:450] 0 1 1 0 0 0 0 0 0 0 ...
>  $ CRUP.CRUP: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CUSC.SP. : num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ CYNO.DACT: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ DAUC.CARO: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ DIAN.SP. : num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ECHI.ADEN: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ECHI.JUDA: num [1:450] 0 0 0 0 0 1 0 1 0 1 ...
>  $ EROD.GRUI: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ EROD.MALA: num [1:450] 0 0 0 0 0 1 0 0 0 0 ...
>  $ EROD.MOSC: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ERUC.HISP: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ERYN.CRET: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ EUPH.AULA: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ EUPH.CHAM: num [1:450] 0 1 0 0 0 0 0 0 1 0 ...
>  $ EUPH.HELI: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ EUPH.OXYO: num [1:450] 0 0 0 1 0 1 0 0 0 0 ...
>  $ EUPH.PEPL: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ FACT.ASCH: num [1:450] 0 0 0 0 0 0 1 0 0 0 ...
>  $ FERU.COMM: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ FILA.CONT: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ FILA.PALA: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ FILA.PYRA: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ GAGE.COMM: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ GALI.DIVA: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ GALI.JUDA: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ GALI.SETA: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ GERA.MOLL: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ GERA.ROTU: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ GERO.HYBR: num [1:450] 0 1 0 1 1 0 0 0 0 0 ...
>  $ HEDY.RHAG: num [1:450] 1 0 0 0 0 0 0 0 0 0 ...
>  $ HELI.ROTU: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ HELI.SALI: num [1:450] 0 0 0 0 1 1 0 0 1 0 ...
>  $ HIPP.UNIS: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ HIRS.INCA: num [1:450] 0 0 0 1 0 0 0 0 1 1 ...
>  $ HORD.BULB: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ HORD.SPON: num [1:450] 0 0 0 1 1 0 0 0 0 0 ...
>  $ HYME.CIRC: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ HYPA.HIRT: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ IRIS.PALA: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ ISAT.LUSI: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ LAGO.CUMI: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ LATH.APHA: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ LATH.BLEP: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ LATH.HIER: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>  $ LATH.MARM: num [1:450] 0 0 0 0 0 0 0 0 0 0 ...
>   [list output truncated]
>  - attr(*, "row.names")= int [1:450] 1 2 3 4 5 6 7 8 9 10 ...
>
> I have no idea why are the species names missing, there are no warning. I
> only found questions regarding missing species scores, but that doesn't seem
> to be the problem here.
>
> Any idea?
> Thank's!
> Hila
>
>
>
> --
> View this message in context: http://r-sig-ecology.471788.n2.nabble.com/Missing-species-names-in-metaMDS-object-tp7578473.html
> Sent from the r-sig-ecology mailing list archive at Nabble.com.
>
> _______________________________________________
> R-sig-ecology mailing list
> R-sig-ecology at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-ecology



-- 
Gavin Simpson, PhD



More information about the R-sig-ecology mailing list