【问题标题】:How to merge two dataframes R [duplicate]如何合并两个数据框R [重复]
【发布时间】:2016-12-03 19:29:45
【问题描述】:

我有两个数据框,其中一些变量重叠,一些则没有。每个变量都有一个属性(变量的频率),我需要将两者组合成一个数据帧,结果是两列属性,一个对应于第一个数据帧,第二个对应于第一个数据帧,并且并集所有的变量都被表示出来了。

数据框 1:

var frequency
a   3
b   2
d   5

数据框 2:

var frequency
a   2
b   3
c   3

结果数据框:

var frequency1 frequency2
a   3          2
b   2          3
c   0          3
d   5          0

感谢您的帮助。

【问题讨论】:

    标签: r dataframe merge


    【解决方案1】:

    这似乎对我有用:

    df1 = read.csv('df1.csv')
    df2 = read.csv('df2.csv')
    df1$frequency1 = df1$frequency
    df2$frequency2 = df2$frequency
    df1$frequency = NULL
    df2$frequency = NULL
    
    df = merge(df1, df2, by = 'var', all = TRUE)
    print(df)
    

    这个想法是,如果您希望频率 1 和频率 2 成为最终合并数据帧中的名称,您可以在合并之前在 df1 和 df2 中重命名它们。这会产生:

      var frequency1 frequency2
    1   a          3          2
    2   b          2          3
    3   d          5         NA
    4   c         NA          3
    

    【讨论】:

    • 我尝试了 merge(x,y) ,但它删除了两个数据框中未表示的所有变量编辑将尝试您的新方法
    • 试用更新版本。 :)
    • 谢谢!成功了!!!
    猜你喜欢
    • 1970-01-01
    • 2021-09-17
    • 2014-10-04
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    • 2016-03-25
    • 2021-03-22
    相关资源
    最近更新 更多