如何在不考虑匹配参数的情况下在R中排列不同的数据帧(一个在另一个之下)?
我有不同的excel文件,我希望它们以某种方式排列:数据对应不同的设备参数,因此,每个excel文件包含与每月每天记录有关的数据行,这意味着每个数据行都有当月一天的数据(所有记录的第一列中的日期),例如,每个文件在1月份有31行,在2月份有28行,依此类推。问题是这些文件是分开的,我想创建一个数据框架,其中所有数据按相同的顺序排列(从1月到12月,同时考虑到一天中的每个日期),一组数据下有一组数据。我试着做下一个 获取每个数据文件的列表如何在不考虑匹配参数的情况下在R中排列不同的数据帧(一个在另一个之下)?,r,tidyverse,readfile,R,Tidyverse,Readfile,我有不同的excel文件,我希望它们以某种方式排列:数据对应不同的设备参数,因此,每个excel文件包含与每月每天记录有关的数据行,这意味着每个数据行都有当月一天的数据(所有记录的第一列中的日期),例如,每个文件在1月份有31行,在2月份有28行,依此类推。问题是这些文件是分开的,我想创建一个数据框架,其中所有数据按相同的顺序排列(从1月到12月,同时考虑到一天中的每个日期),一组数据下有一组数据。我试着做下一个 获取每个数据文件的列表 tojoin = lapply(mis_archivos,
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\u行
library(dplyr)
bind_rows(tojoin, .id = 'file')
或使用rbindlist
library(data.table)
rbindlist(tojoin, idcol = 'file')
尝试使用
data.table::rbindlist(tojoin)
或使用dplyr::bind\u rows(tojoin)
我想知道您想对结果做什么。用于演示目的?每个文件包含多少列?是的,我正在尝试部署一个基于历史数据的可视化和预测模型。有什么建议吗?