【问题标题】:Merge data frames with dplyr使用 dplyr 合并数据帧
【发布时间】:2020-05-13 10:44:23
【问题描述】:

我有两个数据框(MY_DATA 和 MY_DATA1)。第一个包含十行,第二个包含十三行。您可以使用以下代码查看数据:

MY_DATA<-data.frame(structure(list(TEST = c(10, 20, 30, 40, 50, 60, 70, 80, 90, 
                                               100)), class = "data.frame", row.names = c(NA, -10L)))

MY_DATA1<-data.frame(structure(list(TRAINING= structure(c(1L, 4L, 6L, 8L, 3L, 5L, 
                                                           7L, 9L, 10L, 11L, 12L, 13L, 2L), .Label = c("10", "1000", "200", 
                                                                                                       "30", "300", "40", "400", "50", "500", "600", "700", "800", "900"
                                                           ), class = "factor")), class = "data.frame", row.names = c(NA, 
                                                                                                                      -13L)))

所以我的意图是将这两个数据帧合并为一个数据帧。输出应该如下图所示

我尝试使用这行代码,但不能正常工作。那么任何人都可以帮我解决这个问题吗?

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    你可以这样做:

    MY_DATA$index = rownames(MY_DATA)
    MY_DATA1$index = rownames(MY_DATA1)
    
    dplyr::full_join(MY_DATA, MY_DATA1, by="index")
    

    输出:

       TEST index TRAINING
    1    10     1       10
    2    20     2       30
    3    30     3       40
    4    40     4       50
    5    50     5      200
    6    60     6      300
    7    70     7      400
    8    80     8      500
    9    90     9      600
    10  100    10      700
    11   NA    11      800
    12   NA    12      900
    13   NA    13     1000
    

    【讨论】:

      猜你喜欢
      • 2021-08-10
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-19
      • 2022-11-28
      • 1970-01-01
      • 2017-12-17
      • 2018-06-20
      相关资源
      最近更新 更多