複数のxlsxを読み込んで組み合わせる方法について読んでいます。ファイルを1つのRデータフレームに変換して、How to read multiple xlsx file in R using loop with specific rows and columnsのような非常に良い提案が出てきましたが、今までのデータセットには当てはまりません。複数のxlsxファイルを複数のシートで1つのRデータフレームに読み込む
私は、複数のxlsxファイルを複数のシートで読み込むことをお勧めします。すべてのシートとファイルは同じ列を持ちますが、同じ長さではなく、NAは除外してください。
19、12:17、6、8時10分これまでのところ、私が試した:私は、最初の3行をスキップし、列だけで1を取りたい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を試しました。
ありがとうございます!
あなたが明示的にあなたの関数にのみ最初のシートを求めている: のx = read.xlsx(I、* sheetIndex = 1 *、...) – mkt
また、大規模なデータセットの速度を最適化する場合は、data.tableパッケージを調べる価値があります。とりわけ、fread関数を使うと、すべての列を読み込んだ後でサブセット化するのではなく、必要な列だけを読み込むことができます。しかし、私はそれが.xlsxファイルではうまくいくとは思っていません。 – mkt
あなたのlapplyはファイルをループしています。あなたが望むものを得るためにシート上に2番目のループを張る必要があります。 – Choubi