2016-05-17 46 views
1

我有很多.txt文件。您可以下載2 of them from here。 我用下面導入許多.txt文件,將它們與文件名一起組合成一個數據框

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 

的代碼,我想補充的文件名它們導入RStudio並結合他們進入一個data.frame以及到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) 
} 
+0

添感謝您的時間和幫助。它不是隻有simu1。還有simu2。另外,文件的實際數量是從simu1到simu70(共70個文本文件,代表70個模擬) – aelwan

+0

如果所有.txt文件都有確切的行數,我可以自己創建第三個列ID,但它們有不同的我認爲可以導入文件名(不帶.txt)並將其添加到ID列中。 – aelwan

+1

非常感謝Tim。我真的很感謝你的時間和幫助,它完美的工作 :) – aelwan

相關問題