r-导入许多.txt文件,将它们与文件名一起合并到一个数据帧中



我有许多.txt文件。你可以从这里下载其中的两个。我将它们导入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

有什么建议吗?

如果使用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)
}

最新更新