Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
enlever les "levels"
4 participants
Page 1 sur 1
enlever les "levels"
Bonjour,
je débute avec le logiciel R et j'ai un problème auquel je n'arrive pas à trouver de solutions en surfant sur le web : j'ai des données sous forme d'un tableau dans un .txt que j'ai chargées à l'aide de la commande data<-read.table("data.txt").
mais après en avoir sélectionnée une partie ( d<-data[,5]), lorsque je le les affiche, j'ai une dernière dernière ligne du type :
Levels: -0.02 -0.03 -0.04 -0.05 -0.06 -0.07 -0.08 -0.11 -0.12 -0.13 -0.14 -0.17 -0.18 -0.19 -0.20 -0.22 -0.23 -0.24 -0.25 -0.26 -0.27 ...
du coup, si je veux pas exemple prendre le maximum de mes données max(d), une erreur s'affiche. à quoi correspond cette dernière ligne? est-ce bien la cause de l'erreur? si oui, une idée serait de l'enlever? mais comment?
j'ai essayé avec le package gdata et drop.levels mais rien n'y fait! les 'levels' sont toujours là..
Je quelqu'un peu m'aider, c'est très sympa
je débute avec le logiciel R et j'ai un problème auquel je n'arrive pas à trouver de solutions en surfant sur le web : j'ai des données sous forme d'un tableau dans un .txt que j'ai chargées à l'aide de la commande data<-read.table("data.txt").
mais après en avoir sélectionnée une partie ( d<-data[,5]), lorsque je le les affiche, j'ai une dernière dernière ligne du type :
Levels: -0.02 -0.03 -0.04 -0.05 -0.06 -0.07 -0.08 -0.11 -0.12 -0.13 -0.14 -0.17 -0.18 -0.19 -0.20 -0.22 -0.23 -0.24 -0.25 -0.26 -0.27 ...
du coup, si je veux pas exemple prendre le maximum de mes données max(d), une erreur s'affiche. à quoi correspond cette dernière ligne? est-ce bien la cause de l'erreur? si oui, une idée serait de l'enlever? mais comment?
j'ai essayé avec le package gdata et drop.levels mais rien n'y fait! les 'levels' sont toujours là..
Je quelqu'un peu m'aider, c'est très sympa
plocq- Nombre de messages : 3
Date d'inscription : 20/11/2011
Re: enlever les "levels"
Bonjour,
Tout d'abord je commencerais par une remarque importante : si votre question concerne un logiciel, pourquoi ne pas la poser dans la partie appropriée du forum à savoir, le sous-forum "Questions Logiciel"? De plus, si vous pouviez également mentionner le logiciel dans le titre du message, cela serait parfait
Sinon, concernant votre problème, ce n'est pas directement la "dernière ligne" qui en est la cause. En réalité, si cette dernière ligne apparaît c'est que votre colonne est considérée comme étant du type "factor" (ie. un facteur prenant un nombre de modalités fixé), c'est pourquoi il vous est impossible d'appliquer une fonction telle que "max" sur cette colonne (c'est comme si vous cherchiez le maximum du vecteur c("chien","chat","vache") par exemple).
Ensuite, pourquoi est-ce que votre colonne est considérée comme étant un facteur, je ne peux pas y répondre sans voir à quoi ressemble vos données (petite remarque bis : pensez à poster un extrait de vos données + code pour toute question logiciel), cependant vous pouvez essayer d'avoir recours aux fonctions telles que "as.numeric" pour re-transformer votre colonne en élément de type "numeric".
Bonne continuation
Cordialement,
A.D.
Tout d'abord je commencerais par une remarque importante : si votre question concerne un logiciel, pourquoi ne pas la poser dans la partie appropriée du forum à savoir, le sous-forum "Questions Logiciel"? De plus, si vous pouviez également mentionner le logiciel dans le titre du message, cela serait parfait
Sinon, concernant votre problème, ce n'est pas directement la "dernière ligne" qui en est la cause. En réalité, si cette dernière ligne apparaît c'est que votre colonne est considérée comme étant du type "factor" (ie. un facteur prenant un nombre de modalités fixé), c'est pourquoi il vous est impossible d'appliquer une fonction telle que "max" sur cette colonne (c'est comme si vous cherchiez le maximum du vecteur c("chien","chat","vache") par exemple).
Ensuite, pourquoi est-ce que votre colonne est considérée comme étant un facteur, je ne peux pas y répondre sans voir à quoi ressemble vos données (petite remarque bis : pensez à poster un extrait de vos données + code pour toute question logiciel), cependant vous pouvez essayer d'avoir recours aux fonctions telles que "as.numeric" pour re-transformer votre colonne en élément de type "numeric".
Bonne continuation
Cordialement,
A.D.
Re: enlever les "levels"
Sallut,
utilise as.numeric sur ton d :
nik
utilise as.numeric sur ton d :
- Code:
d <- as.numeric(d)
nik
Nik- Nombre de messages : 1606
Date d'inscription : 23/05/2008
Re: enlever les "levels"
Bonjour,
Une possibilité, au moment de l'import tu n'as pas défini le bon séparateur décimal, dec="," ou dec="." suivant ce qui sépare tes chiffres, ou alors tu as des blancs (des espèces) ou tout autre caractère qui fait que R transforme tes chiffres en levels. Nik t'a donné qu'une partie de la solution, parce que si tu fais as.numeric d'un facteur alors tu vas te retrouver avec des entiers qui correspondent au numéro de la modalité et non pas à tes chiffres. Il te faut faire as.numeric(as.character(d)).
Cdlt
Une possibilité, au moment de l'import tu n'as pas défini le bon séparateur décimal, dec="," ou dec="." suivant ce qui sépare tes chiffres, ou alors tu as des blancs (des espèces) ou tout autre caractère qui fait que R transforme tes chiffres en levels. Nik t'a donné qu'une partie de la solution, parce que si tu fais as.numeric d'un facteur alors tu vas te retrouver avec des entiers qui correspondent au numéro de la modalité et non pas à tes chiffres. Il te faut faire as.numeric(as.character(d)).
Cdlt
droopy- Nombre de messages : 1156
Date d'inscription : 04/09/2009
Sujets similaires
» comparaison de levels
» Enlever le nom des individus ACP
» Enlever "outliers" ou Normalisation?
» Comment enlever les NA en faisant une ACM ?
» Enlever le nom des individus ACP
» Enlever "outliers" ou Normalisation?
» Comment enlever les NA en faisant une ACM ?
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum