【问题标题】:Joining two structural similar dataframes on two index columns?在两个索引列上加入两个结构相似的数据框?
【发布时间】:2014-01-14 15:53:56
【问题描述】:

我有两个结构相同的数据框:列 id-part1、列 id-part2 和列 data1。 id-part1 和 id-part2 一起用作索引-

现在我想计算列 data1 的两个数据框相对于两个 id 列之间的差异。事实上,在一个数据帧中,id-part1 和 id-part2 的组合可能不存在......

所以它在某种程度上是一个 SQL 连接操作,不是吗?

【问题讨论】:

  • 您能否提供一些数据以更好地理解它并制作可重现的示例?

标签: r dataframe


【解决方案1】:

merge() 函数正是您要寻找的。 它的工作方式类似于 SQL 连接操作。根据您的描述,解决方案是:

solution <- merge(DF1, DF2, by = c('id-part1', 'id-part2'), all.x = TRUE, all.y = TRUE)

DF1 和 DF2 是您对应的数据框。 merge() 使用 x 和 y 来引用这些数据帧,其中 x 是第一个 (DF1),y 是第二个 (DF2)。

by= 属性定义要匹配的列名(您甚至可以为每个数据框指定不同的名称)。

all.xall.y 指定您希望执行的联接类型,具体取决于您希望保留的数据。

结果是一个新的数据框,其中 data1 具有不同的列。然后您可以继续计算。

【讨论】:

    猜你喜欢
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多