【问题标题】:New % Column to a dataframe in RR中数据框的新%列
【发布时间】:2020-08-10 20:28:43
【问题描述】:

这听起来可能很简单,但我正在尝试将百分比列添加到大量数据框中,但我不知道如何处理:

假设我的 df 结构如下:

date          month      amount       new column %
2015-01-01        1       50    50/sum(amount/month)
2015-01-02        1       100   100/sum(amount/month)
2015-01-03        1       200   200/sum(amount/month)

我的问题是:当我有几年和几个月的数据时,如何对除数上的月份求和。

谢谢

【问题讨论】:

    标签: r dataframe data-manipulation


    【解决方案1】:

    使用dplyr 你可以做到:

    data <- data %>%
      group_by(month) %>%
      summarise(`new colum %` = amount / sum(amount))
    

    这将为您提供每个月的分数。

    【讨论】:

    • 感谢您的回答,但我已经尝试过这让 NA 退回。我需要每天而不是每月的百分比。月份总和仅用于 % 公式(在除数中)。
    • 这表明您的 amount 列中有 NA 值,尝试 sum(amount, na.rm = TRUE) 将返回忽略 NA 值的总和。如果您需要每天的分数,请使用您的日期列作为分组变量。确保您的日期属于正确的类别(例如Date)。
    猜你喜欢
    • 2015-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 2012-10-01
    • 1970-01-01
    • 2014-02-12
    相关资源
    最近更新 更多