Je combine 12 fichiers txt différents dans une structure de données, qui ressemble à ceci:
Chaque fichier contient un nombre différent de données et le nom de fichier était nommé avec la date, par exemple. "Student-Score-2010-10.txt".
Chaque fichier représente un mois.
Comment puis-je rajouter la date à chaque ligne?
id dep score
id511 10 34
id512 10 32
id512 10 34
J'ai besoin de rajouter la date à chaque ligne
id dep score date
id511 10 34 2010-10
id511 10 34 2010-10
id511 10 34 2010-10
id511 10 34 2010-11
id511 10 34 2010-11
id511 10 34 2010-12
id511 10 34 2011-1
J'ai composé la date. Ce ne sont pas les vraies données
données originales
Rapport mensuel"
"Université de XXXXX"
"+ -------- + ------ + ----- +"
"| id | dep | scores |
"+ ------- + ----- + ------ +
"| id593 | 2 | 233 |
Réponses:
0 pour la réponse № 1Tu pourrais essayer:
files <- list.files(pattern="^Student")
files
#[1] "Student-Score-2010-10.txt" "Student-Score-2010-11.txt"
dat<- do.call(rbind,lapply(files, function(x) {
al <- readLines(x)
al2 <- grep("id[0-9]", al, value=TRUE)
al3 <- gsub("^ +| +$", "", gsub("[[:punct:]]+", "", al2))
al4 <-read.table(text=al3, header=FALSE, sep="", stringsAsFactors=FALSE)
colnames(al4) <- c("id", "dep", "scores")
transform(al4, date=gsub("[[:alpha:]]+\-[[:alpha:]]+\-(.*)\.txt",
"\1",x))}))
dat
# id dep scores date
#1 id592 2 235 2010-10
#2 id593 2 233 2010-11