【问题标题】:Joining different length data frames with different columns in R将不同长度的数据帧与 R 中的不同列连接起来
【发布时间】:2016-08-18 02:31:23
【问题描述】:

我有两组数据,每组都在一个单独的数据框中。这是因为一个来自 Excel 电子表格,另一个来自原始数据文件的自动迭代。 两个数据帧有一个共同点:第一列包含其中观察的统一时间戳信息。 df1 包含湿度和温度数据(变量:timestamp、hum、temp),df2 包含氧气、功率和时间变量(变量:timestamp、O2、power、time)。

理想情况下,两个 df1 都应该包含 df2 包含的所有时间戳观察。此外,df1 包含一些需要清理的额外观察结果。

我想“加入”两个数据帧,这样对于每个时间戳,来自两个 df 的所有变量值都被加入(即变量:时间戳、嗡嗡声、温度、O2、功率、时间)。那些只出现在 df1 中的观察应该被删除。

有什么聪明的方法吗?

亲切的问候 克鲁梅尔普林茨

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    似乎您只是在寻找一个简单的 left_join。这可以通过 dplyr 与

    left_join(df2, df1)
    

    它只会返回时间戳列中 df2 和 df1 匹配的行。 (这会删除 df1 中的所有额外观察结果)。

    一个基本的 R 实现是:

    merge(x = df2, y = df1, by = "timestamp", all.x = TRUE)
    

    【讨论】:

    • 这正是我想要的!非常感谢,祝您有美好的一天!
    • 不客气!如果您对答案感到满意,您可以通过单击答案旁边的绿色复选标记将其标记为正确。乐于助人。
    • 绝对!感谢您的提示:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 2016-11-03
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多