Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Statistiques

tout sur les statistiques
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -45%
PC Portable LG Gram 17″ Intel Evo Core i7 32 Go ...
Voir le deal
1099.99 €

 

 [Réglé] Réaliser une ACM avec R

Aller en bas 
3 participants
AuteurMessage
lesparte




Nombre de messages : 6
Date d'inscription : 27/02/2007

[Réglé] Réaliser une ACM avec R Empty
MessageSujet: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R EmptyMar 27 Fév - 14:00

Bonjour,

Je profite de ce forum pour vous faire part d'un petit problème que je rencontre avec le logiciel libre R. J'aimerais faire une ACM sur mon jeu de données.
Cette fonctionnalité n'étant pas disponible par défaut, j'ai installé le package FactoMineR contenant la fonction MCA. J'ai testé cette dernière sur le jeu de données "poison" et tout s'est déroulé avec succès.
Par contre, sitôt que je tente de l'utiliser pour mon jeu de données, j'obtiens le message d'erreur suivant:

Error in data.frame(value, row.names = rn, check.names = FALSE, check.rows = FALSE) :
duplicate row.names: 0, 1, 2

Il me semble pourtant que le codage de mes données est similaire à celui du jeu nommé "poison". Il y a manifestement un lien avec "0" "1" et "2" qui sont les trois scores possibles de plusieurs de mes variables, mais je n'arrive pas à comprendre en quoi cela cause un problème à R.

Quelqu'un connaîtrait-il la signification de cette erreur?

Merci d'avance!

PS: si vous connaissez un forum spécialement dédié aux utilisateurs de R, je serais heureux d'en apprendre l'adresse.


Dernière édition par le Mer 28 Fév - 13:27, édité 1 fois
Revenir en haut Aller en bas
Gooki




Nombre de messages : 9
Date d'inscription : 13/02/2007

[Réglé] Réaliser une ACM avec R Empty
MessageSujet: Re: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R EmptyMar 27 Fév - 15:58

Tu as plusieurs lignes qui portent le même nom. Il faudrait voir comment tu as construit ton data.frame. Sinon, une solution est d'activer check.rows=T quand tu crées le tableau.

Personnellement, j'utilise le paquet ade4 pour faire des ACP, AFC et compagnie (beaucoup de doc: http://pbil.univ-lyon1.fr/R/enseignement.html).

Pour le forum dédié:
http://forums.cirad.fr/logiciel-R/
Revenir en haut Aller en bas
lesparte




Nombre de messages : 6
Date d'inscription : 27/02/2007

[Réglé] Réaliser une ACM avec R Empty
MessageSujet: Re: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R EmptyMar 27 Fév - 21:16

Pour commencer, merci pour la réponse rapide!

Mon jeu de données a été créé via l'importation (avec read.csv) d'un fichier excel préalablement exporté en ".csv". J'ai veillé à spécifier le paramètre "headers" à True, ainsi que le paramètre "row.names" à 1.
Voyant qu'aucune ACM ne voulait se lancer sur mon tableau (pourtant visuellement identique au jeu de données "poison"), j'ai tenté de convertir chaque variable de ce jeu en un facteur (via "as.factor(x)"), mais sans succès. Le message d'erreur est toujours le même.

Je ne vois pas d'où peut bien provenir le problème...
Revenir en haut Aller en bas
Gooki




Nombre de messages : 9
Date d'inscription : 13/02/2007

[Réglé] Réaliser une ACM avec R Empty
MessageSujet: Re: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R EmptyMar 27 Fév - 21:28

essaye row.names=NULL
Revenir en haut Aller en bas
lesparte




Nombre de messages : 6
Date d'inscription : 27/02/2007

[Réglé] Réaliser une ACM avec R Empty
MessageSujet: Re: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R EmptyMar 27 Fév - 21:40

Gooki a écrit:
essaye row.names=NULL

J'avais déjà essayé (et viens de retenter). Hélas ça ne marche pas Crying or Very sad
Revenir en haut Aller en bas
Gooki




Nombre de messages : 9
Date d'inscription : 13/02/2007

[Réglé] Réaliser une ACM avec R Empty
MessageSujet: Re: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R EmptyMar 27 Fév - 21:42

envoie tes données en mp


Dernière édition par le Mer 28 Fév - 9:44, édité 1 fois
Revenir en haut Aller en bas
lesparte




Nombre de messages : 6
Date d'inscription : 27/02/2007

[Réglé] Réaliser une ACM avec R Empty
MessageSujet: Re: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R EmptyMar 27 Fév - 22:02

Voilà, je t'ai envoyé les données par mail.

Alors, c'est grave Docteur?

(Merci beaucoup en tout cas Embarassed )
Revenir en haut Aller en bas
Gooki




Nombre de messages : 9
Date d'inscription : 13/02/2007

[Réglé] Réaliser une ACM avec R Empty
MessageSujet: Re: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R EmptyMer 28 Fév - 12:03

Soit le fichier demoACM.csv. chaque col est un facteur dont certains niveaux ont le même nom que d'autres niveaux dans d'autres facteurs.
Apparemment, FactoMineR n'aime pas ça. Alors,

Code:

>d<-read.csv("demoACM.csv", sep=";", header=T, row.names=1, colC="factor")
> library(FactoMineR)
> for (i in 1:dim(d)[2]) d[,i]<-paste(colnames(d)[i],d[,i], sep=".")
> par(mfrow=c(3,1))
> MCA(d)

ça marche bien chez moi
Revenir en haut Aller en bas
lesparte




Nombre de messages : 6
Date d'inscription : 27/02/2007

[Réglé] Réaliser une ACM avec R Empty
MessageSujet: Re: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R EmptyMer 28 Fév - 12:59

Effectivement ça fonctionne!

Il ne me reste plus qu'à comprendre la signification de ces diverses lignes. Si je comprends bien, après avoir importé les données en spécifiant que chaque colonne doit être considérée comme un facteur ("colC='factor'"), tu crées une boucle qui va parcourir toutes les colonnes ("for (i in 1:dim(d)[2])") et concaténer à chaque résultat le nom de la colonne en la séparant avec un "." ('d[,i]<-paste(colnames(d)[i],d[,i], sep="."').
Je peine par contre à comprendre l'utilité de l'avant dernière ligne ("par(mfrow=c(3,1))").

Et puisque je tiens un utilisateur chevronné, j'en profite pour te poser une dernière question: comment accéder aux diverses fenêtres graphiques qui s'écrasent mutuellement? Existe-t-il un tableau général qui permette d'y accéder? (Je précise que je suis sous MAC OS X).
Revenir en haut Aller en bas
Gooki




Nombre de messages : 9
Date d'inscription : 13/02/2007

[Réglé] Réaliser une ACM avec R Empty
MessageSujet: Re: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R EmptyMer 28 Fév - 13:04

Tu as tout compris.

Citation :

Je peine par contre à comprendre l'utilité de l'avant dernière ligne ("par(mfrow=c(3,1))").

Et puisque je tiens un utilisateur chevronné, j'en profite pour te poser une dernière question: comment accéder aux diverses fenêtres graphiques qui s'écrasent mutuellement? Existe-t-il un tableau général qui permette d'y accéder? (Je précise que je suis sous MAC OS X).

par(mfrow=c(3,1)) subdivise la fenêtre en trois colonnes sous linux (voir ?par). Je suppose que ça marche pareil sous OSX. Sinon, tu peux tout de suite les exporter. Voir ?Device.
Revenir en haut Aller en bas
lesparte




Nombre de messages : 6
Date d'inscription : 27/02/2007

[Réglé] Réaliser une ACM avec R Empty
MessageSujet: Re: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R EmptyMer 28 Fév - 13:27

Ok, j'ai tout saisi!

Merci beaucoup pour ton aide! Le tout aura été plus laborieux que sur XLSTAT, mais cette fois c'est libre! Very Happy

Vive R! cheers
Revenir en haut Aller en bas
Gooki




Nombre de messages : 9
Date d'inscription : 13/02/2007

[Réglé] Réaliser une ACM avec R Empty
MessageSujet: Re: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R EmptyMer 28 Fév - 13:36

Et les graphiques sont plus propres!
Longue vie à R! \°/
Revenir en haut Aller en bas
alicerenard




Nombre de messages : 1
Date d'inscription : 25/04/2012

[Réglé] Réaliser une ACM avec R Empty
MessageSujet: Re: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R EmptyMer 25 Avr - 14:20

Bonjour, vos réponses m'ont bien aidé, car j'avais le même problème de data.frame, avant d'essayer la solution avec le code de Gooki. Et effectivement, ça a partiellement marché, puisuque le message d'erreur ne s'affiche plus... Mais a été remplacé par un autre ! :

"Erreur dans xi[j] : les indices négatifs ne peuvent être mélangés qu'à des 0."

Auriez-vous une solution pour m'aider, svp ??
Revenir en haut Aller en bas
Contenu sponsorisé





[Réglé] Réaliser une ACM avec R Empty
MessageSujet: Re: [Réglé] Réaliser une ACM avec R   [Réglé] Réaliser une ACM avec R Empty

Revenir en haut Aller en bas
 
[Réglé] Réaliser une ACM avec R
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème pour réaliser un test de Khi-deux sous SAS
» problème avec algorithme EM
» probléme avec les zéros!!!!
» Simulation de données avec SAS (ou R)
» Probabilité et Corrélation avec loi normale

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Statistiques :: Statistiques-
Sauter vers: