複数の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 を試しました。