R:如何添加两个具有不同列的数据框

时间:2018-10-26 20:26:32

标签: r dataframe merge

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

这是我所拥有的示例(实际数据帧每个都有大约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

我尝试了合并,绑定和联接的一些变体,但我不太清楚。任何帮助将非常欢迎!

1 个答案:

答案 0 :(得分:2)

我们将数据集放在list中,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