Je voudrais obtenir des intervalles de confiance de 95% pour les centroïdes sur la base de la similitude de Gower entre certains échantillons multivariés (données communautaires provenant de carottes de sédiments). Jusqu'à présent, j'ai utilisé le vegan{}
package dans R pour obtenir une similitude Gower modifiée entre les cœurs (basé sur Anderson 2006; maintenant inclus dans R dans le cadre de vegdist()
). Quelqu'un sait-il comment je peux calculer des intervalles de confiance à 95% pour les centroïdes, par exemple, des sites d'échantillonnage, sur la base de la similitude de Gower modifiée?
De plus, si possible, je voudrais tracer ces IC à 95% sur un PCO qui montre les centroïdes, il est donc évident s'ils se chevauchent.
Pour obtenir une similitude Gower modifiée, j'ai utilisé:
dat.mgower <- vegdist(decostand(dat, "log"), "altGower")
Mais pour autant que je sache, vous ne recevez pas de centroïdes vegdist()
. J'ai besoin d'obtenir des centroïdes, puis des IC à 95%, puis de les tracer ... dans R. Aide!
Anderson, MJ, KE Ellingsen et BH McArdle. 2006. Dispersion multivariée comme mesure de la diversité bêta. Ecology Letters 9: 683–693.
la source
Réponses:
Je ne sais pas immédiatement quel centroïde vous voulez, mais le centroïde qui me vient à l'esprit est le point dans l'espace multivarié au centre de la masse des points par groupe. À ce sujet, vous voulez une ellipse de confiance à 95%. Les deux aspects peuvent être calculés en utilisant la
ordiellipse()
fonction en végétalien . Voici un exemple modifié de?ordiellipse
mais en utilisant un PCO comme moyen d'incorporer les dissemblances dans un espace euclidien à partir duquel nous pouvons dériver des centroïdes et des ellipses de confiance pour les groupes basés sur la variable de gestion de la natureManagement
.Maintenant, nous affichons les 2 premiers axes PCO et ajoutons une ellipse de confiance à 95% basée sur les erreurs standard de la moyenne des scores des axes. Nous voulons que les erreurs standard soient définies
kind="se"
et utilisons l'conf
argument pour donner l'intervalle de confiance requis.Notez que je capture la sortie de
ordiellipse()
. Cela renvoie une liste, un composant par groupe, avec des détails sur le centroïde et l'ellipse. Vous pouvez extraire lecenter
composant de chacun d'eux pour obtenir les centroïdesNotez que le centroïde est uniquement pour la solution 2D. Une option plus générale consiste à calculer vous-même les centroïdes. Le centroïde est juste les moyennes individuelles des variables ou dans ce cas les axes PCO. Comme vous travaillez avec les différences, elles doivent être intégrées dans un espace d'ordination afin que vous ayez des axes (variables) dont vous pouvez calculer les moyennes. Ici, les scores des axes sont en colonnes et les sites en lignes. Le centre de gravité d'un groupe est le vecteur des moyennes des colonnes du groupe. Il existe plusieurs façons de diviser les données, mais ici, j'utilise
aggregate()
pour diviser les scores sur les 2 premiers axes PCO en groupes basés surManagement
et calculer leurs moyennesCela donne:
qui est la même que les valeurs stockées dans
stats
comme extrait ci-dessus. L'aggregate()
approche se généralise à n'importe quel nombre d'axes, par exemple:De toute évidence, les centroïdes sur les deux premiers axes PCO ne changent pas lorsque nous demandons plus d'axes, vous pouvez donc calculer les centroïdes sur tous les axes une fois, puis utiliser la dimension que vous souhaitez.
Vous pouvez ajouter les centroïdes au tracé ci-dessus avec
Le tracé résultant ressemblera maintenant à ceci
Enfin, vegan contient les fonctions
adonis()
etbetadisper()
qui sont conçues pour examiner les différences de moyennes et de variances des données multivariées de manière très similaire aux documents / logiciels de Marti.betadisper()
est étroitement lié au contenu du document que vous citez et peut également renvoyer les centroïdes pour vous.la source
?ordiellipse
pour plus de détails sur ce qui se fait ici, en particulier dans le calcul de l'intervalle de confiance. Que la théorie corresponde aux données est quelque chose que vous voudrez peut-être examiner avec la simulation ou le rééchantillonnage ou quelque chose plutôt que de compter sur la "théorie".adonis()
peut être utilisé pour tester des moyennes similaires (centroïdes) de groupes comme on pourrait utiliser l'ANOVA dans le cas univarié. Un test de permutation est utilisé pour déterminer si les données sont cohérentes avec l'hypothèse nulle de pas de différence de centroïdes. Notez également que les différences de centroïdes peuvent être causées par différentes dispersions de groupes (variances).betadisper()
peut vous aider à tester si tel est le cas, en utilisant à nouveau un test basé sur la permutation des distances moyennes des points d'échantillonnage à leur centre de gravité.adonis()
etbetadisp()
, je crois), je cherchais juste un bon moyen d'afficher les données. J'ai une interaction site x saison pour une conception de mesures répétées, donc je voulais pouvoir montrer facilement quels sites ont montré un effet saisonnier. Je pense que ces ellipses sont ce que je recherche; cet exemple a été très utile.ordiellipse()
sans incorporer une boucle for? J'ai à la fois des saisons et des sites dans mes données, et je voulais montrer les différences de sites dans une parcelle et de saisons dans une autre en les codant par couleur. Pour une raison quelconque, l'utilisation de col = c (1,2,1,2), etc. ne fonctionne pas, ni col = as.numeric (cent ["Site_TP"]). Existe-t-il une manière élégante de procéder?