如何在不关心匹配参数的情况下在R中排列不同的数据帧(一个在另一个下方)?

问题描述 投票:0回答:1

我有不同的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

希望已经足够清楚了。请帮忙!!

r tidyverse readfile
1个回答
0
投票
rbind仅在尺寸和列名称相同时起作用。在这里,我们可以使用bind_rows

library(dplyr) bind_rows(tojoin, .id = 'file')

或带有rbindlist

library(data.table) rbindlist(tojoin, idcol = 'file')

© www.soinside.com 2019 - 2024. All rights reserved.