2014-01-27 42 views
1

我有文件夾,其中包含大約200個.txt文件。我想讀取所有的文件,並選擇每個文件的第二列,並將它們放在一個矩陣中。 (rbind()) 是否有任何命令一次讀取所有文件?如何將一個目錄中的所有文件一次讀入R?

我想用:

data<-read.table ("", header= T, sep=",") 
+0

如果它們是時間序列,動物園包中的'read.zoo'可以一次讀取多個文件。 –

回答

4

有三個步驟:

  1. 通過list.files
  2. 使用lapply抓取所有的文件名列表中的讀取所有文件
  3. 使用do.callrbind將所有數據轉換成單個數據幀或矩陣

的代碼:

nm <- list.files(path="path/to/file") 
do.call(rbind, lapply(nm, function(x) read.table(file=x)[, 2])) 

子集與[]是任意的,本實施例僅是爲了在第二列。

+2

在'read.table'之後可能需要'[,2]'來獲得第二列。 – Spacedman

+0

@Spacedman謝謝你的注意,編輯回答。 – tonytonov

相關問題