我有大约一百个excel文件,我需要导入到R并合并.所有excel文件都有四列,每一列都需要导入.文件如下所示:
1 127 122
1 87
2 107
1 136 k
1 210
Run Code Online (Sandbox Code Playgroud)
我还需要为每行添加文件名作为第五列.所有excel文件都在同一个文件夹中.
到目前为止,我试过以下:
library(xlsx)
setwd("c:/temp/")
filenames <- list.files(pattern=".xls")
do.call("rbind", lapply(filenames, function(x) read.xlsx(file=x, sheetIndex=1, colIndex=(1:4), header=FALSE, FILENAMEVAR=x)))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:rbind中的错误(deparse.level,...):参数列的数量不匹配
我已将问题定位为在第三和第四列中清空单元格,因为如果我将其仅限制为第一列和第二列,则函数可以正常工作.
自己搞清楚了.关键是要用rbind.fill而不是rbind.
library(plyr)
df.list <- lapply(filenames, function(x) read.xlsx(file=x, sheetIndex=1,
colIndex=1:4,as.data.frame=TRUE, header=FALSE, FILENAMEVAR=x))
final.df <- rbind.fill(df.list)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4425 次 |
| 最近记录: |