9 votos

Intervalos de confianza en torno a un centro de gravedad con la modificación de similitud de Gower

Me gustaría obtener el 95% de intervalos de confianza para los centroides basado en la similitud de Gower entre algunos mulivariate muestras (datos de la comunidad de núcleos de sedimentos). Hasta ahora he utilizado el vegan{} paquete en R para obtener modificado Gower similitud entre los núcleos (basado en Anderson, 2006; ahora se incluye en R como parte de la vegdist()). ¿Alguien sabe cómo puedo calcular el 95% de intervalos de confianza para los centroides de, por ejemplo, los sitios de muestreo, basado en una modificación de similitud de Gower?

Además, si es posible, me gustaría parcela estos 95% CIs en un PCO que muestra los centroides, por lo que es evidente si están superpuestas.

Para obtener modificado de similitud de Gower, he utilizado:

dat.mgower <- vegdist(decostand(dat, "log"), "altGower")

Pero como lo que yo sé, usted no consigue los centroides de vegdist(). Necesito conseguir los centroides, entonces el 95% de la Cei, a continuación, trazar... en R. Ayuda!

Anderson, M. J., K. E. Ellingsen, y B. H. McArdle. 2006. Multivariante de dispersión como una medida de la diversidad beta. Ecology Letters 9:683-693.

5voto

David J. Sokol Puntos 1730

No estoy claro de inmediato qué centroide usted quiere que, pero el centro de gravedad que viene a la mente es el punto en el multivariante espacio en el centro de la masa de los puntos por grupo. Acerca de esto usted desea un 95% de confianza de la elipse. Ambos aspectos pueden ser calculadas usando la ordiellipse() función en vegano. Aquí es una modificación ejemplo ?ordiellipse , pero con un PCO como un medio para integrar las diferencias que existen en un espacio Euclidiano de la que podemos derivar de centroides y la confianza de los puntos suspensivos para los grupos basados en la Gestión de la Naturaleza de la variable Management.

require(vegan)
data(dune)
dij <- vegdist(decostand(dune, "log"), method = "altGower")
ord <- capscale(dij ~ 1) ## This does PCO

data(dune.env) ## load the environmental data

Ahora podemos mostrar el primer PCO 2 ejes y agregar un 95% de confianza de la elipse basado en los errores estándar de la media de los ejes de las puntuaciones. Queremos que los errores estándar para establecer kind="se" y el uso de la conf argumento para dar el intervalo de confianza requerido.

plot(ord, display = "sites", type = "n")
stats <- with(dune.env,
              ordiellipse(ord, Management, kind="se", conf=0.95, 
                          lwd=2, draw = "polygon", col="skyblue",
                          border = "blue"))
points(ord)
ordipointlabel(ord, add = TRUE)

Aviso que yo capturar la salida de ordiellipse(). Esto devuelve una lista, uno de los componentes de cada grupo, con los detalles del centroide y la elipse. Usted puede extraer el center componente de cada uno de estos, para llegar a los centroides

> t(sapply(stats, `[[`, "center"))
         MDS1       MDS2
BF -1.2222687  0.1569338
HF -0.6222935 -0.1839497
NM  0.8848758  1.2061265
SF  0.2448365 -1.1313020

Observe que el centro de gravedad es sólo para la solución de 2d. Más general es la opción para calcular los centroides de ti mismo. El centroide es sólo el individuo promedios de las variables o en este caso el PCO ejes. Como se trabaja con las diferencias, que necesitan para ser incorporado en una ordenación espacio, por lo que tienen ejes (variables) que se puede calcular los promedios de. Aquí el eje de las puntuaciones en las columnas y los sitios en filas. El centroide de un grupo es el vector de la columna de promedios para el grupo. Hay varias maneras de dividir los datos, pero en este caso utilizo aggregate() a dividir las puntuaciones en la primera PCO 2 ejes en grupos basados en Management y calcular las medias

scrs <- scores(ord, display = "sites")
cent <- aggregate(scrs ~ Management, data = dune.env, FUN = mean)
names(cent)[-1] <- colnames(scrs)

Esto nos da:

> cent
  Management       MDS1       MDS2
1         BF -1.2222687  0.1569338
2         HF -0.6222935 -0.1839497
3         NM  0.8848758  1.2061265
4         SF  0.2448365 -1.1313020

que es el mismo que los valores almacenados en stats extraído anteriormente. El aggregate() enfoque se generaliza a cualquier número de ejes, por ejemplo:

> scrs2 <- scores(ord, choices = 1:4, display = "sites")
> cent2 <- aggregate(scrs2 ~ Management, data = dune.env, FUN = mean)
> names(cent2)[-1] <- colnames(scrs2)
> cent2
  Management       MDS1       MDS2       MDS3       MDS4
1         BF -1.2222687  0.1569338 -0.5300011 -0.1063031
2         HF -0.6222935 -0.1839497  0.3252891  1.1354676
3         NM  0.8848758  1.2061265 -0.1986570 -0.4012043
4         SF  0.2448365 -1.1313020  0.1925833 -0.4918671

Obviamente, los centroides de los dos primeros PCO ejes no cambian cuando pedimos más ejes, de modo que se podría calcular los centroides sobre todos los ejes de una vez, a continuación, utilizar lo que alguna vez la dimensión que desea.

Usted puede agregar los centroides a la anterior parcela con

points(cent[, -1], pch = 22, col = "darkred", bg = "darkred", cex = 1.1)

La gráfica resultante se verá ahora como esta

use of ordiellipse

Finalmente, vegano contiene la adonis() y betadisper() funciones que están diseñados para examinar las diferencias en las medias y varianzas de datos multivariantes en formas muy similar a la de Martí papeles/software. betadisper() está estrechamente vinculada con el contenido de la ponencia que mencionas y también puede devolver los centroides para usted.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X