7

複数のxlsxファイルを読み取って1つのRデータフレームに結合する方法について読んでいて、次のようないくつかの非常に良い提案に出くわしました。ここまで設定。

複数のシートを持つ複数の xlsx ファイルを R に読み込ませたいと思います。すべてのシートとファイルには同じ列がありますが、同じ長さではなく、NA は除外する必要があります。最初の 3 行をスキップして、列 1:6、8:10、12:17、19 のみを取得したい。

これまでのところ、私は試しました:

file.list <- list.files(recursive=T,pattern='*.xlsx')

dat = lapply(file.list, function(i){
    x = read.xlsx(i, sheetIndex=1, sheetName=NULL, startRow=4,
              endRow=NULL, as.data.frame=TRUE, header=F)
# Column select 
    x = x[, c(1:6,8:10,12:17,19)]
# Create column with file name  
    x$file = i
# Return data
    x
  })

  dat = do.call("rbind.data.frame", dat)

ただし、これはすべてのファイルの最初のシートのみを取得します

すべてのシートとファイルを 1 つの R データ フレームにまとめる方法を知っている人はいますか?

また、大規模なデータセットにはどのパッケージをお勧めしますか? これまでのところ、readxl と XLConnect を試しました。

4

4 に答える 4