Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
ACP : couleurs par espèces
2 participants
Page 1 sur 1
ACP : couleurs par espèces
Bonjour !
J'ai fait des mesures sur des empreintes de plusieurs espèces et cherche à faire une/des ACP. J'ai mené l'analyse via statistica (que j'ai découvert ce matin) avec un tableau sous la forme espece / mesure1 / mesure2 etc. Seulement j'ai tous mes points de la même couleur sur le graphique et ne parviens pas à mettre une couleur différente par espèce. Ce qui est étonnant vu que statistica fait de bonnes présentations. Quelqu'un sait-il si cela est possible sur ce logiciel ou sait le faire sur R (je n'ai pas tenté sur R car ça fait un bon moment que je n'ai pas fait d'ACP dessus mais s'il le faut...!) ? Je vous remercie d'avance pour votre aide !
J'ai fait des mesures sur des empreintes de plusieurs espèces et cherche à faire une/des ACP. J'ai mené l'analyse via statistica (que j'ai découvert ce matin) avec un tableau sous la forme espece / mesure1 / mesure2 etc. Seulement j'ai tous mes points de la même couleur sur le graphique et ne parviens pas à mettre une couleur différente par espèce. Ce qui est étonnant vu que statistica fait de bonnes présentations. Quelqu'un sait-il si cela est possible sur ce logiciel ou sait le faire sur R (je n'ai pas tenté sur R car ça fait un bon moment que je n'ai pas fait d'ACP dessus mais s'il le faut...!) ? Je vous remercie d'avance pour votre aide !
Pechou- Nombre de messages : 20
Date d'inscription : 20/07/2011
Re: ACP : couleurs par espèces
Bonjour,
je ne connais pas statistica, par contre ce que tu demandes est très facile à faire en R.
je ne connais pas statistica, par contre ce que tu demandes est très facile à faire en R.
droopy- Nombre de messages : 1156
Date d'inscription : 04/09/2009
Re: ACP : couleurs par espèces
Très facile ? Ca me plait bien comme idée car c'est très frustrant d'être bloqué à cause de présentation. J'ai commencé à tenter par R mais alors que j'ai installé le package ade4, que j'ai chargé mon tableau de données, et que je note :
acp1=duci.pca (AvInd, center=T,scale=T) il m'indique qu'il ne trouve pas la fonction dudi.pca...je ne comprends pas car il m'avait bien écrit "le package 'ade4' a été décompressé et les sommes MD5 ont été vérifiées avec succés". Aurais-je oublié une manip bête?
acp1=duci.pca (AvInd, center=T,scale=T) il m'indique qu'il ne trouve pas la fonction dudi.pca...je ne comprends pas car il m'avait bien écrit "le package 'ade4' a été décompressé et les sommes MD5 ont été vérifiées avec succés". Aurais-je oublié une manip bête?
Pechou- Nombre de messages : 20
Date d'inscription : 20/07/2011
Re: ACP : couleurs par espèces
tu as oublié de charger la librairie pour avoir les fonctions d'ade4 disponible dans ta cession de travail :
load(ade4)
load(ade4)
droopy- Nombre de messages : 1156
Date d'inscription : 04/09/2009
Re: ACP : couleurs par espèces
Effectivement, je ne savais pas ! Merci. R n'est pas évident quand on ne maîtrise pas les commandes, par rapport à minitab et statistica ; j'ai résolu d'autres problèmes mais voilà qu'un autre apparaît...J'ai fait :
> acp1=dudi.pca(mon tableau,center=T,scale=T). Et R me dit :
Erreur dans v * row.w : argument non numérique pour un opérateur binaire.
Mon tableau est sous la forme : Identité de l'empreinte / espèce / Numéro de l'animal etc /mesure1 / mesure 2 etc.
Je suppose qu'il n'aime pas ce qui précède les mesures car ce n'est pas numérique ...mais je ne vois pas comment faire. Sous minitab ou statistica je n'avais pas ce problème car je lui disais de mener l'ACP sur telle et telle mesure selon l'espèce. Seulement là aucune fenêtre ne s'ouvre pour me le demander.^^
> acp1=dudi.pca(mon tableau,center=T,scale=T). Et R me dit :
Erreur dans v * row.w : argument non numérique pour un opérateur binaire.
Mon tableau est sous la forme : Identité de l'empreinte / espèce / Numéro de l'animal etc /mesure1 / mesure 2 etc.
Je suppose qu'il n'aime pas ce qui précède les mesures car ce n'est pas numérique ...mais je ne vois pas comment faire. Sous minitab ou statistica je n'avais pas ce problème car je lui disais de mener l'ACP sur telle et telle mesure selon l'espèce. Seulement là aucune fenêtre ne s'ouvre pour me le demander.^^
Pechou- Nombre de messages : 20
Date d'inscription : 20/07/2011
Re: ACP : couleurs par espèces
effectivement il ne faut intégrer dans l'acp que les colonnes des variables qui t’intéressent. Si tu as les X premières colonne a enlevée avant l'analyse tu peux faire comme ceci : acp1 <- dudi.pca(mon tableau[,-c(1:X)])
droopy- Nombre de messages : 1156
Date d'inscription : 04/09/2009
Re: ACP : couleurs par espèces
Merci. Mais ce que je ne comprends pas c'est que si je construis mon tableau comme espèce /mesure1/mesure2/mesure3 etc il n'accepte toujours pas et m'écrit la me^me chose que plus haut. Seulement, si c'est ma première colonne qui l'embête et que je la retire de l'analyse, mes mesures ne vont correspondre à aucune espèce et donc je ne vois pas comment je vais voir si mes mesures discriminent mes espèces. Je ne sais pas si je suis très claire...en fait c'est le fonctionnement de R pour faire une acp que je ne comprends pas.
Pechou- Nombre de messages : 20
Date d'inscription : 20/07/2011
Re: ACP : couleurs par espèces
il ne faut pas confondre deux choses : ce que toi tu cherches a faire, ton objectif et comment le logiciel fonctionne. Tu cherches a discriminer les espèces très bien, mais une ACP a juste besoin de variable numérique.
1) tu gardes bien précieusement ton tableau de départ dans un objet
2) un tableau spécial acp : tab <- montableau[,c(N° de colonne qui ne rentre pas dans l'analyse)]
3) stock les espèces comme étiquette des lignes de ce tableau : rownames(tab) <- montableau[,"espece"]
4) tu fais l'acp : acp1 <- dudi.pca(tab)
5) tu fais la représentation graphique :
s.label(acp1$li)
Après, est-ce que chaque ligne de ton tableau est une espèce différente ?
si oui la représentation en 5 devrait suffire
sinon 6) s.class(acp1$li, rownames(tab)). Regarde l'aide de cette fonction pour pouvoir jouer avec les différents arguments.
Après on verra pour les couleurs. Il faudra que tu me dises combien d'espèce tu as et les couleurs que tu veux donner
1) tu gardes bien précieusement ton tableau de départ dans un objet
2) un tableau spécial acp : tab <- montableau[,c(N° de colonne qui ne rentre pas dans l'analyse)]
3) stock les espèces comme étiquette des lignes de ce tableau : rownames(tab) <- montableau[,"espece"]
4) tu fais l'acp : acp1 <- dudi.pca(tab)
5) tu fais la représentation graphique :
s.label(acp1$li)
Après, est-ce que chaque ligne de ton tableau est une espèce différente ?
si oui la représentation en 5 devrait suffire
sinon 6) s.class(acp1$li, rownames(tab)). Regarde l'aide de cette fonction pour pouvoir jouer avec les différents arguments.
Après on verra pour les couleurs. Il faudra que tu me dises combien d'espèce tu as et les couleurs que tu veux donner
droopy- Nombre de messages : 1156
Date d'inscription : 04/09/2009
Re: ACP : couleurs par espèces
Merci beaucoup pour vos indications ! Seulement, deux points : ce n'est pas -c et non c dans le 2) ? Et que ce soit l'un ou l'autre R me dit :
> rownames(tab)=AvInd[,"Espece"]
Erreur dans `row.names<-.data.frame`(`*tmp*`, value = c(1L, 1L, 1L, 1L, 1L, :
les duplications dans 'row.names' ne sont pas autorisées
De plus : Message d'avis :
non-unique values when setting 'row.names': ‘MFO’, ‘MLU’, ‘MPU’, ‘MVI’ .
MFO, MVI etc correspondent à mes noms d'espèce. Sinon, chaque ligne de mon tableau ne correspond pas forcément à une espèce différente car j'ai fait des mesures sur plusieurs empreintes par individu et j'ai étudié plusieurs individus par espèces. J'ai donc plusieurs lignes qui correspondent à un seul individu (mon tableau est à la base comme suit : Espece/Individu/mesure1 etc où l'individu est codé 1, 2, 3 etc) et plusieurs individus par espèce.
> rownames(tab)=AvInd[,"Espece"]
Erreur dans `row.names<-.data.frame`(`*tmp*`, value = c(1L, 1L, 1L, 1L, 1L, :
les duplications dans 'row.names' ne sont pas autorisées
De plus : Message d'avis :
non-unique values when setting 'row.names': ‘MFO’, ‘MLU’, ‘MPU’, ‘MVI’ .
MFO, MVI etc correspondent à mes noms d'espèce. Sinon, chaque ligne de mon tableau ne correspond pas forcément à une espèce différente car j'ai fait des mesures sur plusieurs empreintes par individu et j'ai étudié plusieurs individus par espèces. J'ai donc plusieurs lignes qui correspondent à un seul individu (mon tableau est à la base comme suit : Espece/Individu/mesure1 etc où l'individu est codé 1, 2, 3 etc) et plusieurs individus par espèce.
Pechou- Nombre de messages : 20
Date d'inscription : 20/07/2011
Re: ACP : couleurs par espèces
Et autre point. J'ai pas mal de NA (toutes mes mesures ne pouvaient être effectuées d'une empreinte à l'autre) et bien que j'ai utilisé la fonction na.omit je suis embêtée que R me supprime tout (Statistica par ex ne supprime que les cellules correspondantes, pas les lignes). J'ai donc tenté nipals(nom de mon fichier) et R me dit:
Erreur dans colMeans(df, na.rm = TRUE) : 'x' doit être numérique.
J'ai regardé dans l'aide, ai essayé de supprimer ma 1ère colonne (Espece) car je me suis dit qu'il ne devait pas aimer celle-là mais quand je le fais il spécifie : Erreur dans c[1] : objet de type 'builtin' non indiçable.
Ces spécifications me semblent infinies...!
Erreur dans colMeans(df, na.rm = TRUE) : 'x' doit être numérique.
J'ai regardé dans l'aide, ai essayé de supprimer ma 1ère colonne (Espece) car je me suis dit qu'il ne devait pas aimer celle-là mais quand je le fais il spécifie : Erreur dans c[1] : objet de type 'builtin' non indiçable.
Ces spécifications me semblent infinies...!
Pechou- Nombre de messages : 20
Date d'inscription : 20/07/2011
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum