Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Les posteurs les plus actifs de la semaine
Aucun utilisateur

Le deal à ne pas rater :
Cartes Pokémon 151 : où trouver le coffret Collection Alakazam-ex ?
Voir le deal

enlever les "levels"

4 participants

Aller en bas

enlever les "levels" Empty enlever les "levels"

Message par plocq Dim 20 Nov 2011 - 16:23

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 Smile

plocq

Nombre de messages : 3
Date d'inscription : 20/11/2011

Revenir en haut Aller en bas

enlever les "levels" Empty Re: enlever les "levels"

Message par A.D. Lun 21 Nov 2011 - 9:49

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

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 Smile


Cordialement,

A.D.

A.D.

Nombre de messages : 305
Age : 35
Localisation : Nantes
Date d'inscription : 02/12/2009

http://www.dacta.fr

Revenir en haut Aller en bas

enlever les "levels" Empty Re: enlever les "levels"

Message par Nik Lun 21 Nov 2011 - 16:10

Sallut,

utilise as.numeric sur ton d :

Code:
d <- as.numeric(d)

nik

Nik

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

Revenir en haut Aller en bas

enlever les "levels" Empty Re: enlever les "levels"

Message par droopy Lun 21 Nov 2011 - 16:34

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
droopy
droopy

Nombre de messages : 1156
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

enlever les "levels" Empty Re: enlever les "levels"

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