我有不同的excel文件,我希望它们以某种方式排列:数据对应于不同的设备参数,因此,每个excel文件都包含行,其中包含与每月记录相关的数据,这意味着每个数据行都有该月某天的数据(所有记录的第一列中的日期),则每个文件在1月有31行,2月有28行,依此类推。事实是,这些文件是分开的文件,我想创建一个数据框,将所有数据以相同的顺序排列(从1月到12月,还要考虑一天中的每个日期),随后出现了一组数据。数据。我试图做下一个。
获取每个数据文件的列表
tojoin = lapply(mis_archivos, function(i){
x=read_excel(i, sheet = 1)
x$file = i
x
})
然后我尝试与此一起将列表加入数据框
join = do.call("rbind.data.frame", tojoin)'
我收到这样的消息
Error in rbind.data.frame(list(Date = c(1388534400, 1388620800, 1388707200, :
numbers of columns of arguments do not match
即使我尝试直接转换数据框,我也得到了
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 31, 28
希望已经足够清楚了。请帮忙!!
rbind
仅在尺寸和列名称相同时起作用。在这里,我们可以使用bind_rows
library(dplyr)
bind_rows(tojoin, .id = 'file')
或带有rbindlist
library(data.table) rbindlist(tojoin, idcol = 'file')