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 :

Besoin de personnes confirmées


Sujet :

R

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Par défaut Besoin de personnes confirmées
    Bonjour à tous et merci d'avance pour votre aide qui me sera forte utile !

    Forces en présence : un document au format texte (.txt), formé comme un tableau, que l'on veut utiliser sous R (afin de faire des études statistiques)
    Son contenu : 65.000 lignes correspondant à 65000 individus, 41 colonnes correspondant à des variables d'études sur ces individus
    Les colonnes sont bien visible de part l'alignement qui a été fait.
    [Ce que j'appelle colonne : dès qu'il y a un espace entre 2 caractères]


    Les 3 premières colonnes servent en fait d'identifiant (nom de l'individu)

    Exemple : "Robert 01 80" correspond à l'identifiant, correspond à 3 colonnes.

    Petit problème ajouté : entre différentes colonnes de variable, il y a différent nombres d'"espace" (cela peut aller de 1 à 4 espaces)



    On veut donc importer ce "tableau texte" sous R, afin de l'étudier.



    !!! PROBLÈME !!!
    1/
    Nous savons qu'un document format texte doit avoir une mise en forme spécifique pour être importé sous forme de tableau dans R : UN SEUL CARACTÈRE de séparation pour les éléments d'une ligne (que ce soit les ";" ou un espace " ").

    Comment faire dans ce cas pour ramener notre document texte initial à un document ne possédant qu'UN SEUL caractère entre chaque terme d'une ligne ? (cad utiliser la fonction "read.table") (sans avoir à faire cela pour les 65.000 lignes manuellement)

    (en prenant bien en compte que les 3 premières colonnes correspondent à l'identifiant) et qu'on a une ligne descriptive en première ligne (il faut faire header=T, row.names=3 non ?)



    2/ Deuxième problème
    Des variables, au milieu du tableau ne seront pas utiles pour certaines études stat :
    comment faire pour supprimer les colonnes correspondantes à ces variables ?



    Merci beaucoup d'avance pour votre aide qui me sera très précieuse !

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 26
    Par défaut Aide
    Pour le formatage du fichier, essayez un script perl.

    Exemple :
    Fichier.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Robert 01 80   var1  var2  var3     var4 var5
    Eric 03 08 var1 var2      var3 var4       var5
    Script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -pe "s/[ ]+/,/g" < Fichier.txt > Sortie.txt
    Sortie.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Robert,01,80,var1,var2,var3,var4,var5
    Eric,03,08,var1,var2,var3,var4,var5

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Par défaut
    J'ai finalement trouvé une autre solution pas compliquée : la fonction "remplacer" d'un éditeur texte

    Mais merci pour votre réponse même si je ne sais pas ce qu'est "perl" à part être un langage.

    J'aurais donc maintenant surtout besoin d'aide pour cette partie :
    "
    (en prenant bien en compte que les 3 premières colonnes correspondent à l'identifiant) et qu'on a une ligne descriptive en première ligne (il faut faire header=T, row.names=3 non ?)



    2/ Deuxième problème
    Des variables, au milieu du tableau ne seront pas utiles pour certaines études stat :
    comment faire pour supprimer les colonnes correspondantes à ces variables ?

    "


    Encore merci d'avance à toute la communauté !

  4. #4
    Membre éprouvé
    Inscrit en
    Mars 2009
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 94
    Par défaut
    Citation Envoyé par Kenako Voir le message
    J'ai finalement trouvé une autre solution pas compliquée : la fonction "remplacer" d'un éditeur texte

    Mais merci pour votre réponse même si je ne sais pas ce qu'est "perl" à part être un langage.

    J'aurais donc maintenant surtout besoin d'aide pour cette partie :
    "
    (en prenant bien en compte que les 3 premières colonnes correspondent à l'identifiant) et qu'on a une ligne descriptive en première ligne (il faut faire header=T, row.names=3 non ?)



    2/ Deuxième problème
    Des variables, au milieu du tableau ne seront pas utiles pour certaines études stat :
    comment faire pour supprimer les colonnes correspondantes à ces variables ?

    "


    Encore merci d'avance à toute la communauté !

    Pour l'histoire de l'identifiant, je ferai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    my_data = read.table("mon_fichier.txt",sep="ton sépérarteur de champ",header=T)
    #je crée un id qui est le résultat de la concaténation des 3 premières colonnes
    my_data$id = paste(my_data[,1],my_data[,2],my_data[,3],sep="_")
    #je suprime les 3 premières colonnes
    my_data = my_data[,-c(1:3)]
    pour supprimer une colonne utilise le - avec le numéro de la colonne que tu veux supprimer

Discussions similaires

  1. [Recrutement] Besoin de personnes qualifiées pour MMORPG
    Par Tueur dans le forum Projets
    Réponses: 3
    Dernier message: 30/07/2010, 12h07
  2. [Oracle] Besoin d'une confirmation pour paramétres de connexion
    Par arthuro45 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 24/03/2010, 16h15
  3. Besoin d'une confirmation
    Par Denn's dans le forum Développement
    Réponses: 4
    Dernier message: 24/03/2010, 14h55
  4. Réponses: 12
    Dernier message: 05/10/2009, 10h08
  5. Réponses: 5
    Dernier message: 20/11/2003, 16h36

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