我一直在阅读有关如何读取多个 xlsx 文件并将其组合到一个 R 数据框中的内容,并且遇到了一些非常好的建议,例如如何使用具有特定行和列的循环在 R 中读取多个 xlsx 文件,但不适合我的数据设置至今。
我希望 R 读取具有多个工作表的多个 xlsx 文件。所有工作表和文件都具有相同的列,但长度不同,应排除 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)
但这只会占用每个文件的所有第一张纸
有谁知道如何将所有工作表和文件放在一个 R 数据框中?
此外,对于大型数据集,您会推荐哪些软件包?到目前为止,我尝试了 readxl 和 XLConnect。