Enhorabuena a todos por el foro.
Intento llevar a cabo un MDS para representar la similitud que existe entre una serie de especies. Tengo variables categóricas y cuantitativas. Para que podáis entender mejor mis datos copio aquí las primeras 4 filas:
:species | family | origin | syndrome | colour | shape | corolla_length | corolla_diameter | bell_diameter | cor_stig_dist | stig_cor_dist | stamen_length | pistil_length | stig_surface_diameter | stig_lobe_length | n_sepals | n_petals | n_stamens | n_stig_lobes | nectar_volume | sugar_concentration |
Acacia rorudiana | Mimosaceae | endemic | 2 | 3 | 4 | 2.14 | 1.33 | 0.73 | 1.87 | 3.37 | 3.9 | 0.45 | 4 | 4 | 20 | 1 | 0.1 | 5.8 | ||
Alternanthera echinocephala | Amaranthaceae | native | 3 | 1 | 4 | 8.3 | 9.81 | 2.1 | 5.81 | 6.18 | 2.07 | 0.7 | 5 | 0 | 5 | 1 | 0.28 | 13.38 | ||
Alternanthera filifolia | Amaranthaceae | endemic | 4 | 1 | 4 | 1.7 | 2.91 | 1.04 | 1.01 | 3.02 | 2.14 | 0.01 | 5 | 0 | 5 | 1 | 0.28 | 1.4 | ||
Bastardia viscosa | Malvaceae | native | 1 | 3 | 1 | 4.52 | 9.61 | 1.48 | 4.7 | 5.7 | 6.53 | 0.28 | 5 | 5 | 40 | 6 | 0.85 | 15.58 |
Antes del MDS, he estandarizado las variables cuantitativas mediante:
mydata.scaled <- scale (mydata, center=TRUE, scale=TRUE)
Uno de los problemas que encuentro aquí es que a cada especies se le ha asignado un número. ¿Cómo puedo ahora identificar las especies? Además, me gustaría saber cómo puedo volver a incluir las variables cualitiativas. Este problema lo arrastro desde el principio.
A continuación, he utilizado la library(gower) para crear la matriz de datos, os copio aquí el script entero:
library(gower)
library(cluster)
daisy.mat <- as.matrix(daisy(mydata.scaled, metric="gower"))
library(StatMatch)
gower.mat <- gower.dist(mydata.scaled)
head(daisy.mat, 29)
head(gower.mat, 29)
identical(daisy.mat, gower.mat)
d.spp <- daisy(mydata, metric = "gower")
species_matrix <- d.spp
species_matrix
library(scatterplot3d)
library(vegan)
example_NMDS=metaMDS(species_matrix, k=2, wascores = FALSE)
example_NMDS
example_NMDS$stress
stressplot(example_NMDS)
plot(example_NMDS)
En este punto el error que obtengo es el siguiente:
Warning message: In ordiplot(x, choices = choices, type = type, display = display, : Species scores not availableCualquier ayuda / orientación me vendría súper bien!
Gracias y un saludo,