2014-07-04 94 views
0

我試圖合併的2個文本文件的內容並打印使用R.我的代碼合併輸出如下在「Test」文件夾中 - file1.txt和file2.txt。 file1.txt具有ABC行和file2.txt DEF。但是,在運行腳本時,只會打印ABC,而不是DEF。我無法弄清楚爲什麼。我對R腳本很陌生,因此可能會犯下基本錯誤。請幫忙。打印R中的合併數據幀的每一行

+1

如果每個文件都有一行,你如何期望這種方式起作用?這被解釋爲標題,因爲你有'header = T',所以你的數據集不包含行。此外,@JeremyS說的是正確的,因爲如果你有超過2個文件,並且它們很長,那麼'rbind''多次會超慢。因此,一次只能在列表中讀入,然後在一次調用中「列出」列表。最後,爲了'rbind'的工作,不要忘記你的數據集必須都有相同的頭文件! – konvas

+0

謝謝你指出我的錯誤。我刪除了頭文件並使用了lapply,它工作正常! – user3033194

回答

1

或者使用rbindlistdata.table

library(data.table) 
file_list <- list.files() #2 rows per files 
    rbindlist(lapply(file_list, fread)) 
# A B C 
# 1: 4 12 18 
# 2: 3 5 6 
# 3: 4 14 25 
# 4: 3 13 28 
0

你並不需要一個循環,你可以lapply在你的文件,然後rbind所產生的data.frames的列表到一個單一的一個

file_list <- list.files() 
table_list <- lapply(file_list, read.delim) 
Single_table <- do.call(rbind, table_list)