j'ai un répertoire avec des fichiers nommés quelque chose comme name_1_class.csv
, name_1_school.csv
, ... name_10_class.csv
, name_10_school.csv
Liste des fichiers pour la boucle « i » iteractions
Je lis ces fichiers à partir du répertoire, et après les CSVs, jeux partiels Je les combine dans un seul fichier et l'écris dans un nouveau répertoire qui a un nom d'itération. Bien que j'ai réussi à exécuter ce code avec des index spécifiés directement, je voudrais créer une fonction qui lirait le modèle des fichiers csv basé sur le i comme le nombre d'itérations.
Le code ci-dessous je ne fonctionne évidemment pas, à savoir
school <- list.files(pattern="1-school.csv")
lorsque 1
est spécifié fonctionne bien, mais je n'ai pas compris comment faire abstraction de l'indexation à i
dans regex.
Comment spécifier le modèle en fonction d'une séquence d'itérations? Toutes les suggestions sont appréciées (évidemment je suis nouveau à ceci).
d <- 1:10
for (i in 1:length(d)) {
school <- list.files(pattern=i"-school.csv")
class <- list.files(pattern=i"_class.csv")
school <- data.frame(lapply(school, read.csv))
class <- data.frame(lapply(class, read.csv))
school <- data.frame(school[, c(2,4,5)])
school$school <- rep("school")
class <- data.frame(class[, c(2:4)])
class$class <- rep("class")
df <- rbind(school,class)
dir.create(paste0("iteration",i), showWarnings = FALSE)
write.csv(df, file.path(paste0("iteration",i), "output_file.csv"), row.names=FALSE)
}
Quelle est la portée réelle des fichiers que vous voulez lire? –
le nombre total de fichiers dans le répertoire est vingt. deux fichiers pour chaque itération.i.e. dix est la gamme, si je comprends bien la question – Sasha