Les posteurs les plus actifs de la semaine


Importation de données et AFC

Aller en bas

Importation de données et AFC Empty Importation de données et AFC

Message par durdurdur le Ven 12 Juil 2013 - 15:46

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 Very Happy) 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

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Importation de données et AFC Empty Re: Importation de données et AFC

Message par Nik le Ven 12 Juil 2013 - 16:06

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:
Code:
matrice<-read.csv("matrice.csv",row.names=1)
pour éviter des manip pour les noms de ligne. Ce code veux dire aussi que tu n'as pas de noms de colonnes. Si ton tableau a des noms de colonne alors :
Code:
matrice<-read.csv("matrice.csv",row.names=1,h=T)

Nik

Nombre de messages : 1605
Date d'inscription : 23/05/2008

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Importation de données et AFC Empty Re: Importation de données et AFC

Message par HDKalit le Ven 12 Juil 2013 - 16:23

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 Wink

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 Smile

HDKalit

Nombre de messages : 85
Date d'inscription : 10/01/2013

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Importation de données et AFC Empty Re: Importation de données et AFC

Message par durdurdur le Ven 12 Juil 2013 - 17:05

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

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Importation de données et AFC Empty Re: Importation de données et AFC

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum