【问题标题】:R: Add rows depending on values in the previous value rowR:根据前一个值行中的值添加行
【发布时间】:2021-05-26 23:39:54
【问题描述】:

我有一个数据库,假设它看起来像这样:

Date Company Gains/Losses
2019-12-30 Porsche 27261
2019-12-10 Exxonmobil 10358890
2019-12-10 Apple 154689
2019-12-10 Samsung 119289

我还有许多其他数据库,与此处显示的公司相同或可能更少,但日期不同,如下所示:

Date Company Gains/Losses
2018-12-31 Porsche 34264
2018-12-10 Exxonmobil 11959790
2018-12-10 Apple 154689

我想合并这些表,使其看起来像这样:

Date Company Gains/Losses
2019-12-30 Porsche 27261
2018-12-31 Porsche 34264
2019-12-10 Exxonmobil 10358890
2018-12-10 Exxonmobil 11959790
2019-12-10 Apple 154689
2018-12-10 Apple 154689
2019-12-10 Samsung 119289

基本上,我希望每个公司的信息一个接一个。如您所见,数据库中的列是相同的。如果公司在其中一个表中而不在另一个表中,那么它只会在决赛表中出现一次。

我已经尝试过多次使用“合并”(改变它的条件),但它永远不会像我想要的那样结束。你知道这里可以用什么吗?

【问题讨论】:

  • 看起来像rbind(table1, table2) 的简单案例,然后按名称、日期排序。

标签: r database dataframe data-cleaning


【解决方案1】:

这应该可以将两个具有相同列的表组合起来,然后按公司排列。

full_table % 排列(公司)

【讨论】:

  • 虽然对我来说很明显这使用了dplyr,因为它没有在 OP 中明确要求或讨论,但您应该在回答中提及这一点。 (使用code blocks有助于演示。)
【解决方案2】:

我会使用 rbind。

df<- rbind(df1, df2)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 2020-02-19
    相关资源
    最近更新 更多