IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

lignes effacées prises en compte dans analyse


Sujet :

R

  1. #1
    Membre du Club Avatar de ouflala
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Points : 53
    Points
    53
    Par défaut lignes effacées prises en compte dans analyse
    Bonjour,

    Je me suis mis à R , j'ai quelques connaissances mais je ne suis pas un expert.
    J'ai une petite question sur la manipulation de données.
    J'ai un fichier avec 88 colonnes et.....555 000 lignes (non non je ne me suis pas trompé! ).

    Il y a beaucoup beaucoup de lignes que je veux faire sauter.
    je fais donc le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a_DEP <- a[a$DEP%in%c('04','05'),]
    J'attribue à ma nouvelle variable a_DEP les lignes de mon ancienne variable "a" dont les valeurs de la colonne DEP sont : 04 ou 05 .

    Ouf je passe de 555000 lignes à 15000! (toujours 88 colonnes)

    Bon jusquelà tout fonctionne !

    Par contre ensuite, si je fais un :
    histoire de voir le nombre de valeurs pour les variables 04 et 05, il me sort toute la liste de 01 à 95 (ce sont des departements...vous l'aurez compris) avec que des 0 sauf pour 04 et 05.

    Mais le plus embétant c'est quand je veux faire un tableau croisé dynamique pour une analyse de mes colonnes en fonction de mes départements 04 et 05, idem, il me sort bien mon analyse mais avec TOUS les département de 01 à 95 !
    Ca fait beaucoup de lignes, c'est illisible et en plus forcement l'affichage ne peut tout afficher !

    Donc mes questions:
    - N'ayant selectionné que les lignes que je veux dans ma nouvelle variable, pourquoi il m’analyse des valeurs dont je n'ai rien à faire ?
    - Comment créer une matrice /tableau qui ne prennent en compte que les lignes voulues et être sur que les lignes non retenues ne viennent pas perturber mes analyses ?

    Merci d'avance pour votre aide !

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Janvier 2012
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 325
    Points : 888
    Points
    888
    Par défaut
    Ta colone DEP doit être de classe factor, du coup le résultat de table() est tout à fait normal. En effet les niveaux (que tu peux voir avec la fonction levels) ne changent pas, même si certains ne sont plus présents dans la table. Tu peux faire en sorte de retirer les niveaux inutiles avec la fonction factor.

    Un peu de code pour expliquer le fonctionnement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    > F=factor(c("A","B","C"))
    > F
    [1] A B C
    Levels: A B C
    > F=F[c(1,3)]
    > F
    [1] A C
    Levels: A B C
    > factor(F)
    [1] A C
    Levels: A C

  3. #3
    Membre du Club Avatar de ouflala
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Points : 53
    Points
    53
    Par défaut
    Bonjour,

    Merci pour ta réponse!

    J'ai trouve plus simple (mais je ne sais pas si c'est bien propre...)

    J'enregistre ma nouvelle table puis je la reouvre et tt va bien!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #sauve le fichier 
    	write.table(data,file="dat.txt",quote=FALSE,row.names=T,col.names=T)
     
     
    #lit le fichier dat.txt
     
    	data2 = read.table("dat.txt",h=T)

    Encoe merci pour ta réponse!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Des lignes non prises en compte dans mon code
    Par Speed41 dans le forum EDI
    Réponses: 3
    Dernier message: 24/03/2014, 11h24
  2. Réponses: 0
    Dernier message: 23/05/2013, 14h18
  3. [MySQL] Variable pas prise en compte dans la requête
    Par Zenerox dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 24/04/2007, 21h54
  4. Réponses: 2
    Dernier message: 29/04/2006, 19h09
  5. Lecture de fichier - dernière ligne non prise en compte
    Par JulienPles dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo