【问题标题】:Finding percentage share grouped over category and month in r [duplicate]在r中找到按类别和月份分组的百分比份额[重复]
【发布时间】:2020-08-25 08:04:27
【问题描述】:

输入数据示例如下:

set.seed(123)
filea <- data.frame(
  ITEMS = c(rep("a",12),rep("b",12)),
  MONTHS = c(seq(1,12),seq(1,12)),
  VALUE = c(runif(12,0,50),runif(12,0,100))
)

需要创建一个新列“percent_share”,该列在该类别所有月份的价值总和中所占的百分比份额。

样本输出

PS:有100多个项目

【问题讨论】:

    标签: r


    【解决方案1】:

    使用dplyr你可以这样做:

    library(dplyr)
    
    set.seed(123)
    filea <- data.frame(
      ITEMS = c(rep("a",12),rep("b",12)),
      MONTHS = c(seq(1,12),seq(1,12)),
      VALUE = c(runif(12,0,50),runif(12,0,100))
    )
    
    filea = filea %>% group_by(ITEMS) %>% mutate(Percent_Share = VALUE/sum(VALUE)*100)
    

    输出:

    head(filea)
    # A tibble: 6 x 4
    # Groups:   ITEMS [1]
      ITEMS MONTHS VALUE Percent_Share
      <fct>  <int> <dbl>         <dbl>
    1 a          1 14.4          4.00 
    2 a          2 39.4         11.0  
    3 a          3 20.4          5.69 
    4 a          4 44.2         12.3  
    5 a          5 47.0         13.1  
    6 a          6  2.28         0.633
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-23
      • 2023-02-09
      • 1970-01-01
      • 1970-01-01
      • 2021-11-27
      • 2018-10-27
      • 2020-10-07
      • 2018-12-09
      相关资源
      最近更新 更多