Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Importation de données et AFC
3 participants
Page 1 sur 1
Importation de données et AFC
Bonjour à tous,
Je viens vers vous un peu paumé, pensant que j'allais réussir mon AFC les doigts dans le nez. Ce n'est pas du tout le cas, me voilà dans de beaux draps.
Je suis en stage sur des araignées, j'ai donc des données de présence/absence d'espèces par milieux. Je dois étudier les différences entre les espèces que l'on retrouve selon la gestion sur le milieu (pâturage, fauchage, pas de gestion) et j'ai deux milieux différents.
Je suis sur R studio. Je veux faire une AFC, mais je suis passé sur mac il y a peu, et rien qu'ouvrir mon fichier csv pose problème. Message d'erreur : "Error in view : objet 'X' introuvable". Je comprends pas, je suis sur le bon répertoire, import dataset > head 'yes' > peu importe le séparateur, j'ai le message d'erreur. Bref, c'est le premier problème.
Donc, je passe sur mon ancien ordi. Après l'heure de démarrage habituel, j'arrive à faire lire mon fichier, mais R studio indique ''6 obs. of 0 variables", alors qu'il devrait y en avoir beaucoup plus.
Pour infos, les données que je veux traiter c'est : une colonne milieu (6 entrées) et une ligne espèces avec 41 espèces, sous lesquelles, en colonne, on voit l'absence (0) ou la présence (1) selon les différents milieux.
J'essaye de faire tourner un script AFC utilisé sur un autre projet, dont le tableau de données était quasiment le même (moins d'espèces et la colonne milieu est alors remplacée par des types de haies). Ça avait marché à l'époque, d'où mon interrogation, qu'est-ce qui ne vas pas cette fois ?
Le script est le suivant, je le mets à titre indicatif :
read.csv("matrice.csv")
matrice<-read.csv("matrice.csv")
matrice2<-matrice[,-1]
rownames(matrice2)<-matrice[,1]
matrice2
matrice<-matrice2
matrice
z<-dudi.coa(df=matrice,scannf=F, nf=3)
inertie<-z$eig/sum(z$eig)*100
barplot(inertie,ylab="% d'inertie", names.arg=round(inertie,2))
title("Eboulis des valeurs propres en %")
round(z$eig,2)
contribut<-round(z$eig/sum(z$eig)*100,2)
scatter.coa(z, method=1,sub="haie/coleo",posieig="none")
plot(z$li[,1],z$li[,2],type="n",xlab="Axe 1",ylab="Axe 2", xlim=c(-5,5))
text(z$li[,1], z$li[,2], label=row.names(matrice), cex=1)
text(z$co[,1], z$co[,2], label= colnames(matrice),col="red", cex=0.5)
abline(h=0,v=0)
score.coa (z,xax = 1,dotchart = T)
title("Répartition des modalités sur l'axe 1")
abline(v=0)
score.coa (z,xax = 2,dotchart = TRUE)
title("Répartition des modalités sur l'axe 2")
abline(v=0)
CA(matrice)
"matrice" est à remplacer par le nom de mon fichier. Du coup, la première erreur arrive quand j'entre la fonction dudi.coa. Le message ''Erreur dans matrix(unlist(value, récursive = false, use.name = false), nrow =nr, : 'data' doit être de type vecteur". Du coup, pas la peine d'aller plus loin.
Enfin bref, j'ai donc des données qui sont pourtant sur le même modèle que ce qui avait marché pour mon autre AFC, mais là : 0 variables. Et du coup, je pense que c'est pour ça, le script ne marche pas derrière.
Vous pensez que l'erreur vient d'où ? Un moyen de faire ça plus simplement ? Je précise (mais vous l'avez surement remarquez ) que je suis loin d'être doué en analyse multivariée, mon manque d'expérience me contraint à vous demander de l'aide, et j'en suis désolé. C'est pour ça que j'ai surement donné des infos superflues, mais mieux vaut plus de précision que pas assez.
Enfin bref, toute aide sera la bienvenue, histoire qu'après je fasse ça comme un grand.
Bonne journée,
Gaël.
Je viens vers vous un peu paumé, pensant que j'allais réussir mon AFC les doigts dans le nez. Ce n'est pas du tout le cas, me voilà dans de beaux draps.
Je suis en stage sur des araignées, j'ai donc des données de présence/absence d'espèces par milieux. Je dois étudier les différences entre les espèces que l'on retrouve selon la gestion sur le milieu (pâturage, fauchage, pas de gestion) et j'ai deux milieux différents.
Je suis sur R studio. Je veux faire une AFC, mais je suis passé sur mac il y a peu, et rien qu'ouvrir mon fichier csv pose problème. Message d'erreur : "Error in view : objet 'X' introuvable". Je comprends pas, je suis sur le bon répertoire, import dataset > head 'yes' > peu importe le séparateur, j'ai le message d'erreur. Bref, c'est le premier problème.
Donc, je passe sur mon ancien ordi. Après l'heure de démarrage habituel, j'arrive à faire lire mon fichier, mais R studio indique ''6 obs. of 0 variables", alors qu'il devrait y en avoir beaucoup plus.
Pour infos, les données que je veux traiter c'est : une colonne milieu (6 entrées) et une ligne espèces avec 41 espèces, sous lesquelles, en colonne, on voit l'absence (0) ou la présence (1) selon les différents milieux.
J'essaye de faire tourner un script AFC utilisé sur un autre projet, dont le tableau de données était quasiment le même (moins d'espèces et la colonne milieu est alors remplacée par des types de haies). Ça avait marché à l'époque, d'où mon interrogation, qu'est-ce qui ne vas pas cette fois ?
Le script est le suivant, je le mets à titre indicatif :
read.csv("matrice.csv")
matrice<-read.csv("matrice.csv")
matrice2<-matrice[,-1]
rownames(matrice2)<-matrice[,1]
matrice2
matrice<-matrice2
matrice
z<-dudi.coa(df=matrice,scannf=F, nf=3)
inertie<-z$eig/sum(z$eig)*100
barplot(inertie,ylab="% d'inertie", names.arg=round(inertie,2))
title("Eboulis des valeurs propres en %")
round(z$eig,2)
contribut<-round(z$eig/sum(z$eig)*100,2)
scatter.coa(z, method=1,sub="haie/coleo",posieig="none")
plot(z$li[,1],z$li[,2],type="n",xlab="Axe 1",ylab="Axe 2", xlim=c(-5,5))
text(z$li[,1], z$li[,2], label=row.names(matrice), cex=1)
text(z$co[,1], z$co[,2], label= colnames(matrice),col="red", cex=0.5)
abline(h=0,v=0)
score.coa (z,xax = 1,dotchart = T)
title("Répartition des modalités sur l'axe 1")
abline(v=0)
score.coa (z,xax = 2,dotchart = TRUE)
title("Répartition des modalités sur l'axe 2")
abline(v=0)
CA(matrice)
"matrice" est à remplacer par le nom de mon fichier. Du coup, la première erreur arrive quand j'entre la fonction dudi.coa. Le message ''Erreur dans matrix(unlist(value, récursive = false, use.name = false), nrow =nr, : 'data' doit être de type vecteur". Du coup, pas la peine d'aller plus loin.
Enfin bref, j'ai donc des données qui sont pourtant sur le même modèle que ce qui avait marché pour mon autre AFC, mais là : 0 variables. Et du coup, je pense que c'est pour ça, le script ne marche pas derrière.
Vous pensez que l'erreur vient d'où ? Un moyen de faire ça plus simplement ? Je précise (mais vous l'avez surement remarquez ) que je suis loin d'être doué en analyse multivariée, mon manque d'expérience me contraint à vous demander de l'aide, et j'en suis désolé. C'est pour ça que j'ai surement donné des infos superflues, mais mieux vaut plus de précision que pas assez.
Enfin bref, toute aide sera la bienvenue, histoire qu'après je fasse ça comme un grand.
Bonne journée,
Gaël.
durdurdur- Nombre de messages : 3
Date d'inscription : 12/07/2013
Re: Importation de données et AFC
punaise, vous vous êtes donné le mot pour pondre des pavés pareil. On a pas forcément toujours le temps de lire tous vos essais infructueux avec un enrobage de texte. Alors svp allez à l'essentiel.
C'est un pb de format du tableau donc sans les données on va avoir du mal à t'aider
Pour importer essaye déjà ça:
C'est un pb de format du tableau donc sans les données on va avoir du mal à t'aider
Pour importer essaye déjà ça:
- Code:
matrice<-read.csv("matrice.csv",row.names=1)
- Code:
matrice<-read.csv("matrice.csv",row.names=1,h=T)
Nik- Nombre de messages : 1606
Date d'inscription : 23/05/2008
Re: Importation de données et AFC
A mettre dans la partie R pour garder un peu de lisibilité sur le forum.
Sinon peux tu donner un head() de tes données histoires qu'on voit un petit peu la tête de ce que tu as?
Si le problème est lors de l'importation (ce qui semble être le cas) hésite pas à passer par OpenOffice pour ouvrir un csv car de base ça va te demander le séparateur de champ, le séparateur de décimal, etc. et du coup déjà pour ça tu sauras quoi mettre dans ta fonction read.csv().
Le reste si tu as le fichier .csv que tu ne peux pas mettre sur le forum (je sais même pas si c'est possible) peux tu nous dire si il y a des données manquantes, des données codées style "NA", etc. (noms de lignes? Noms de colonnes? )
Bref bon courage mais normalement tu devrais t'en sortir ... c'est le début
Khalid
PS: ici le problème (après lecture du message ... long il est vrai) n'est pas du tout avec l'analyse mutlivariée mais bien avec R. Et bien comprendre que R (avec tous ces packages) permet de faire facilement quelque chose mais pour l'interprétation et la compréhension là c'est assimiler le cours qui aide
Sinon peux tu donner un head() de tes données histoires qu'on voit un petit peu la tête de ce que tu as?
Si le problème est lors de l'importation (ce qui semble être le cas) hésite pas à passer par OpenOffice pour ouvrir un csv car de base ça va te demander le séparateur de champ, le séparateur de décimal, etc. et du coup déjà pour ça tu sauras quoi mettre dans ta fonction read.csv().
Le reste si tu as le fichier .csv que tu ne peux pas mettre sur le forum (je sais même pas si c'est possible) peux tu nous dire si il y a des données manquantes, des données codées style "NA", etc. (noms de lignes? Noms de colonnes? )
Bref bon courage mais normalement tu devrais t'en sortir ... c'est le début
Khalid
PS: ici le problème (après lecture du message ... long il est vrai) n'est pas du tout avec l'analyse mutlivariée mais bien avec R. Et bien comprendre que R (avec tous ces packages) permet de faire facilement quelque chose mais pour l'interprétation et la compréhension là c'est assimiler le cours qui aide
HDKalit- Nombre de messages : 85
Date d'inscription : 10/01/2013
Re: Importation de données et AFC
Merci,
S'cusez pour la longueur, j'avoue avoir traîner un peu.
Du coup j'ai réussi à importer les données : ''6 obs. of 43 variables''. Super.
Le problème maintenant c'est l'AFC, que je fais avec le script mis plus haut. Il n'y a pas de donnée manquante, pour chaque espèce (première ligne du tableau < head), il y a 0 ou 1 selon absence ou présence, par milieux.
C'est quand je rentre le code : z<-dudi.coa(df=matrice,scannf=F, nf=3)
Ça me donne : "Erreur dans matrix(unlist(value, recursive = FALSE, use.names = FALSE), nrow = nr, :
'data' doit être de type vecteur, il était 'NULL' "
Je déplace le sujet dans la partie R, du coup.
Merci.
S'cusez pour la longueur, j'avoue avoir traîner un peu.
Du coup j'ai réussi à importer les données : ''6 obs. of 43 variables''. Super.
Le problème maintenant c'est l'AFC, que je fais avec le script mis plus haut. Il n'y a pas de donnée manquante, pour chaque espèce (première ligne du tableau < head), il y a 0 ou 1 selon absence ou présence, par milieux.
C'est quand je rentre le code : z<-dudi.coa(df=matrice,scannf=F, nf=3)
Ça me donne : "Erreur dans matrix(unlist(value, recursive = FALSE, use.names = FALSE), nrow = nr, :
'data' doit être de type vecteur, il était 'NULL' "
Je déplace le sujet dans la partie R, du coup.
Merci.
durdurdur- Nombre de messages : 3
Date d'inscription : 12/07/2013
Sujets similaires
» Importation des données
» importation et formes des données
» Importation de données sous R
» importation bases de données dans R
» L'importation des données et le proc corr sous sas
» importation et formes des données
» Importation de données sous R
» importation bases de données dans R
» L'importation des données et le proc corr sous sas
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum