3

Donc je suis nouveau à ceci. Je dois exécuter PCoA sur la matrice de données suivante. Je suis capable d'exécuter mes analyses en utilisant les logiciels ADE4, labdsv, Ginko, Aabel. Ce qui me dérange, c'est comment coder en couleur les étiquettes dans le nuage de points. Ma matrice est une présence/matrice d'absence dans l'ordre:Comment colorer le code de dispersion de PCoA

SpecieName Value1 Value2 
A1   0  1 
A2   1  1 
A3   1  1 
B1   0  0 
B2   0  1 
E1   1  0 
E2   0  0 

Ce que je veux représenter A1, A2 et A3 en rouge, et B1B2 en bleu et tous les E ceux en noir. Toute aide serait appréciée.

Répondre

5

Il suffit de passer un facteur qui indique ces groupes à la commande de traçage:

data = read.table('data.txt', header=T) 

data.pca = prcomp(data[,-1]) 

groups = factor(gsub('(.).', '\\1', data$SpecieName)) 

plot(data.pca$x, col=groups) 

enter image description here

Aussi, si vous souhaitez définir spécifiques couleurs, vous pouvez toujours l'index dans une liste personnalisée De la même manière:

cols = c('red', 'blue', 'black')[groups] 
plot(data.pca$x, col=cols) 
+0

Merci pour votre réponse. En fait, ma matrice est comme une matrice de distance (n * n). J'utilise cmdscale (distance_matrix, k) pour exécuter une analyse de coordonnées principale (PCoA). Donc, dans ma matrice de distance, j'ai des noms d'espèces sur la première ligne et la première colonne. J'utilise Scatter pour me montrer l'objet PCoA retourné par cmdscale et je vois mon espèce tracée de la manière que je veux. Mais je ne sais pas comment les coder en couleur. La réponse que vous avez fournie fonctionnera-t-elle également pour les matrices de distance? Je suis un débutant absoulte en R – user486962

+0

Ahh gotcha. Oui, c'est la manière standard de fournir des couleurs à la plupart des commandes de traçage R. Bonne chance! –

+0

Merci beaucoup John! – user486962

Questions connexes