Импортируйте много.txt файлов, объедините их в один фрейм данных вместе с именами файлов

У меня много .txt файлы. Вы можете скачать 2 из них здесь. Я импортировал их в RStudio и объединил их в один data.frame используя код ниже

setwd("C:/Users/aelwan/Dropbox/import_txt")
data<-do.call(rbind, lapply(list.files(pattern = ".txt"), 
                            read.table, 
                            header=T))
    head(data, 12)
     observed    simulated
1         2         4
2         5         5
3         5         2
4         2         5
5         5         2
6         2        12
7         1        56
8         2        75
9         3        78
10        6        75
11        7        65
12        7        53

Я хотел бы также добавить имя файла в data.frameбыть как внизу

     observed    simulated    ID
1         2         4         simu1           
2         5         5         simu1
3         5         2         simu1
4         2         5         simu1
5         5         2         simu1
6         2        12         simu1
7         1        56         simu2
8         2        75         simu2
9         3        78         simu2
10        6        75         simu2
11        7        65         simu2
12        7        53         simu2

Любые предложения, как это сделать?

1 ответ

Решение

Если вы используете for затем вы можете добавить столбец числовой метки, который вы хотите:

files.list <- list.files(pattern = ".txt")
df <- data.frame(observed=integer(),
                 simulated=integer(),
                 ID=character(),
                 stringsAsFactors=FALSE)

for (i in 1: length(files.list)) {
    df.next <- read.table(files.list[[i]], header=TRUE)
    df.next$ID <- paste0('simu', i)
    df <- rbind(df, df.next)
}
Другие вопросы по тегам