首页 > 解决方案 > R:如何添加具有不同列的两个数据框

问题描述

我想合并具有不同列的两个数据框,同时应添加相同变量的列。

这是我所拥有的一个示例(实际数据框每个大约有 200 列):

A: document v1 v2 v3
1  text1    1  0  0
2  text2    0  0  1
3  text3    0  0  0

B: document v2 v3 v4
1  text1    2  0  1
2  text2    0  1  0
3  text3    1  1  0

我喜欢得到的是:

C: document v1 v2 v3 v4
1  text1    1  2  0  1
2  text2    0  0  2  0
3  text3    0  1  1  0

我尝试了一些合并、绑定和加入的变体,但我不太明白。非常欢迎任何帮助!

标签: rdataframemerge

解决方案


我们将数据集放在 alist中,rbind将它放在一起,按“文档”分组,获取sum每一列的

library(tidyverse)
list(A, B) %>%
    bind_rows %>% 
    group_by(document) %>% 
    summarise_all(sum, na.rm = TRUE)
# A tibble: 3 x 5
#  document    v1    v2    v3    v4
#  <chr>    <int> <int> <int> <int>
#1 text1        1     2     0     1
#2 text2        0     0     2     0
#3 text3        0     1     1     0

推荐阅读