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 :

combiner lapply() avec read.table()


Sujet :

R

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 35
    Points : 24
    Points
    24
    Par défaut combiner lapply() avec read.table()
    Bonjour,

    J'ai un répertoire contenant de nombreux .txt que je souhaite ouvrir avec la fonction read.table().
    Le truc c'est que je veux leur assigner un nom "générique" de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fichier_1<-read.table("truc.txt")
    fichier_2<-read.table("bidule.txt")
    Ayant des centaines de fichier .txt du même type, je ne peux pas faire cette opération "à la main", et répéter 100 fois le read.table.

    J'ai donc pensé à lister le nom de mes fichiers .txt contenus dans mon répertoire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listefichiers<-list.files(pattern=".txt")
    Et j'aimerais y appliquer une fonction lapply(), combinée à un read.table() pour assigner les noms de variables fichier_1, fichier_2...etc

    Mais je ne sais pas comment faire !!

    Merci pour votre aide

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 24
    Points : 39
    Points
    39
    Par défaut
    Je vais peut-être répondre à côté, mais si chaque fichier correspond à une variable que tu veux agréger avec les autres tout en les renommant tu peux faire ça (en supposant que tu as exactement 100 fichiers:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    listefichiers<-list.files(pattern=".txt")
    listelue <- lapply(listefichiers,read.table)
    d <- data.frame(listelue)
    names(d) <- c(1:100)
    tu te retrouveras avec un data frame avec chacun de tes fichiers représentant une variable et en nom de variable un numéro entre 1 et 100 attribué selon l'ordre alphabétique des fichiers. Reste à savoir comment faire pour ajouter les caractères "fichier_" et ça j'y arrive pas, mais ça doit pouvoir se faire.

    tu peux aussi regarder du côté de la fonction "rename", je n'ai pas exactement compris comment ça fonctionne mais ça peut peut-être aider. en tous les cas, je pense que tu dois d'abord exécuter le lapply, puis renommer les éléments de la nouvelle liste (celle que j'ai appelée listelue)

    Bon courage!

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/10/2022, 15h29
  2. Erreur avec read.table()
    Par Fort en pommes dans le forum R
    Réponses: 7
    Dernier message: 04/03/2014, 14h22
  3. Importation de données avec read.table
    Par collosus dans le forum R
    Réponses: 3
    Dernier message: 27/05/2013, 10h51
  4. Réponses: 2
    Dernier message: 24/02/2012, 10h54
  5. Problème avec read.table()
    Par skystef dans le forum R
    Réponses: 7
    Dernier message: 19/02/2010, 09h56

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