【问题标题】:How can I aggregate a "Change in" variable to a total variable? [duplicate]如何将“更改”变量汇总为总变量? [复制]
【发布时间】:2020-03-24 22:14:48
【问题描述】:

我在 R 中有一个如下所示的数据集:

|日期|薪水|


|1 月 1 日 | 1,000|


|1 月 14 日 | |1,400|


(抱歉格式错误)。我想创建另一列是年薪总额(到目前为止)。我尝试了一个聚合函数,但是当我的总数据集约为 80 时,我得到了一个包含 ~8 个观察值的小数据集。我的数据基本上已经按“员工”进行了细分,所以我需要做的就是在我的数据集中进行汇总。

感谢您的帮助。

我想要的是:

|日期|薪水|迄今为止的年薪|


|1 月 1 日 | 1,000 |1,000|


|1 月 14 日 | |1,400 |2,400|

【问题讨论】:

  • 感谢您为错误的格式向您道歉,但请以正确的格式表示。您可以查看有关如何制作reproducible example 的指南。你可以使用dput复制你的数据结构

标签: r dataset aggregate


【解决方案1】:

如果我们想按“日期”分组并创建一个新列,我们可以在base R 中使用ave

df1$new <- with(df1, ave(Paycheck, Date, FUN = cumsum))

如果没有分组

df1$new <- cumsum(df1$Paycheck)

【讨论】:

  • 嗨,我已将其转换为数据框,它只是返回一份薪水清单。 IE,它只是上面的数据集,没有真正有用的日期......我如何聚合它,以便第二张薪水的总年薪适当地显示为 2,400?
  • 您好,第一种方法添加了另一列(这是我想要的),但基本上只是添加了另一个薪水列。第二个添加了另一列,即年薪总额,这也不起作用,因为我不想要总薪水,而是他们迄今为止的薪水。
  • 我已经更新了我的问题以在最后显示我想要的表格。希望这会有所帮助
  • 非常感谢这已经回答了这个问题,我已经标记了它。
猜你喜欢
  • 2020-10-25
  • 1970-01-01
  • 2018-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-12
  • 2021-09-27
相关资源
最近更新 更多