当单元格本身包含数据帧时,在R中合并两个数据帧

时间:2019-07-18 12:50:38

标签: r dataframe rbind

我目前有两个具有相同列和列名称的数据框,并希望使用rbind()合并它们。但是,当尝试这样做时,R会引发错误

  

行名错误(值[[jj]])[ri] <-行名(xij):    替换的长度为零

问题似乎是这些数据框中的一列本身在每个单元格中都包含一个数据框。虽然这对于数据存储来说没有问题,但似乎是合并数据时的问题。

有什么办法解决这个问题吗?

到目前为止,我已经尝试了dplyr软件包中的rbind(df1,df2)以及bind_rows(df1,df2)。这些都不起作用。

rbind(df1, df2)

library(dplyr)
bind_rows(df1, df2)

2 个答案:

答案 0 :(得分:0)

# Add datasets vertically
rbind(dataset1, dataset2)

# Reorder columns
reordered_dataset1 <- dataset1[, c(2, 1)]

# See that rbind() is robust to column ordering
rbind(reordered_dataset1, dataset2)

在工作区中,您在上面看到了两个数据集,分别称为数据集1和数据集2。尝试对数据集1的列重新排序。在数据集1和数据集2以及reordered_dataset1和数据集2上调用rbind()

答案 1 :(得分:0)

尝试使用合并命令

merge(df1, df2)

根据merge命令的描述:通过公用列或行名称合并两个数据帧。

也许可行:)