如何在不关心匹配参数的情况下在 R 中排列不同的数据帧(一个在另一个下面)?
How can I do to arrange different dataframes in R (one beneath other) without caring about matching parameters?
我有不同的 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')
我有不同的 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')