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 du moment : -40%
Machine à café avec broyeur KRUPS ...
Voir le deal
357.99 €

travailler avec "list.files" en loop et utiliser merge

Aller en bas

travailler avec "list.files" en loop et utiliser merge Empty travailler avec "list.files" en loop et utiliser merge

Message par margot julien Jeu 3 Juin 2021 - 18:22

Bonjour,

j'ai 2 questions:

1) j'aimerais générer une liste de fichiers situés dans un dossier en sélectionnant des fichiers seulement avec certains noms, j'arrive à le faire en indiquant la terminaison des fichiers, par exemple:

si je veux dans le dossier sélectionné uniquement les fichiers finissants par "_N1.xlsx", je fais:

Code:
fichiersN1<- list.files(path=".",pattern = "_N1.xlsx")
ça fonctionne bien, j'ai ceci en appelant la liste "fichiersN1":

> fichiersN1
[1] "year00_dataAll_N1.xlsx"  "year00_dataComp_N1.xlsx" "year01_dataAll_N1.xlsx"  "year01_dataComp_N1.xlsx"  "year02_dataAll_N1.xlsx"  "year02_dataComp_N1.xlsx"  "year03_dataAll_N1.xlsx"  "year03_dataComp_N1.xlsx"  "year04_dataAll_N1.xlsx"  "year04_dataComp_N1.xlsx"  "year05_dataAll_N1.xlsx"  "year05_dataComp_N1.xlsx", etc...

J'aimerais trouver une fonction pour sélectionner les fichiers finissants par _N1.xlsx et uniquement ceux de certaines tranches d'années, par exemple des années year01 à  year03 donc commençant par "year01", "year02" et "year03". J'aimerais faire ça de manière automatique car j'ai beaucoup de fichiers et j'aimerais créer des listes avec les fichiers finissants par N1 pour différents ensembles d'années, par exemple les années de year01 à year03 (=fichiers de la liste1) puis year03 à year05 (=fichiers de la liste2), etc..

J'arrive à faire des sélections par début de fichier ou fin de fichier mais pas les deux et pas de manière automatique.

2) Ensuite, j'aimerais combiner les lignes des fichiers des différentes listes en un seul gros fichier pour chaque liste, sachant que normalement les fichiers ont les mêmes noms de colonnes, j’arrive à le faire en prenant les fichiers un par un mais pas de manière automatique, par exemple je fais:

Code:
fi1<-read_excel(liste1[1])
fi2<-read_excel(liste2[2])
#common col:
common_col_names<-intersect(names(fi1), names(fi2))

fi3<-merge.data.frame(fi1,fi2, by = common_col_names, all.x=TRUE)

Comment faire ça sans devoir appeler les fichiers des listes un par un?

Merci par avance.

margot julien

Nombre de messages : 7
Date d'inscription : 05/06/2019

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