8
votes

Comment puis-je lire plusieurs fichiers de plusieurs répertoires dans R pour le traitement?

Je suis une étude de simulation et je dois traiter et enregistrer les résultats de plusieurs fichiers texte. J'ai les données organisées de manière là où il existe des sous-répertoires et dans chaque sous-répertoire, je dois traiter et obtenir des résultats individuels pour 1000 fichiers de données. Ceci est très facile à faire en SAS en utilisant des macros. Cependant, je suis nouveau à r et ne peut pas comprendre comment faire de tels. Vous trouverez ci-dessous ce que j'essaie d'accomplir. XXX

Toute aide serait grandement appréciée!


1 commentaires

4 Réponses :


11
votes

Je ne suis pas proche d'un ordinateur avec R en ce moment, mais lisez l'aide pour les fonctions associées au fichier:

La fonction dir répertoriera les fichiers et les répertoires. Il a un argument récursif. list.files est un alias pour dir . La fonction fichier.info vous dira (entre autres) si un chemin est un chemin d'accès à un répertoire et fichier.path combinera des pièces de chemin.

Le basename et dirname peut également être utile.

Notez que toutes ces fonctions sont vectorisées.

EDIT < / Fort> maintenant sur un ordinateur, voici un exemple: xxx


1 commentaires

Merci à tous pour vos réponses! @Tommy ..... Votre codage fonctionne jusqu'à présent ... les doigts croisés ... J'ai 768 conditions de données avec 1000 fichiers simulés sous chaque état. Il faudra un certain temps pour traiter, donc je vais donner un statut une fois terminé.



0
votes

Vous pouvez utiliser la fonction GLOB () pour obtenir une liste de fichiers et l'envoyer à r en utilisant, par exemple, interface RSPERL .


1 commentaires

Salut ltamar. Je ne connais pas Perl. Je suis un statisticien et je n'ai jamais eu la nécessité d'utiliser telle. Bien que ... j'entends que c'est assez puissant.



6
votes

Si vous devez exécuter la même analyse sur chacun des fichiers, vous pouvez y accéder dans un coup d'une photo en utilisant list.files (récursif = t) . Cela suppose que vous avez déjà défini votre répertoire de travail sur dossier de données . Le recursive = t répertorie tous les fichiers dans les sous-répertoires également.


1 commentaires

Merci ramnath. Je n'ai jamais énuméré.files mais je vais essayer. Le codage de Tommy travaille jusqu'à présent.



4
votes

noms de fichiers <- list.files ("Path / To / Files", récursif = true) Cela vous donnera tous les fichiers résidant sous un dossier et sous des dossiers sous celui-ci.


0 commentaires