【问题标题】:Get Proportion Graph From Summarise and Facet Wrap从 Summarize 和 Facet Wrap 获取比例图
【发布时间】:2019-12-26 22:11:00
【问题描述】:

我有三个分类变量和一个数值变量;我想通过根据我的分类变量分割数据并获取数值变量的比例来显示比例。

数据如下:

ID Brand   Color    Gear Sales
1  Honda   Blue     M    80
2  Toyota  Blue     A    75
3  Ford    Blue     M    25
4  Honda   Red      M    100
5  Toyota  Red      M    125
6  Ford    Red      M    90
7  Honda   Green    A    15
8  Toyota  Green    M    120
9  Ford    Green    A    65

基本上,我想要一个条形图,显示品牌的facet_wrap 每种颜色的销售额比例。

结果将是对于本田 80 Blue/195 Total、100 Red/185 Total 和 15 Green/185 Total 等...这个百分比显示在条形图中:

a <-  df%>% group_by(Brand, Color)

b <-  summarise(a, sales_amt = sum(Sales),
                   brand_sale = sum("Here is where I am having the issue"),
                   sales_percentage = (sales_amt/brand_sale))

c <-  ggplot(b) + 
        geom_bar(aes(Color, sales_percentage) , stat = "identity") + 
        facet_wrap(~ Brand)
c

【问题讨论】:

  • 我无法在汇总语句中计算分母;因此,我无法计算要绘制的百分比

标签: r ggplot2 facet summarize


【解决方案1】:

考虑基于 R 的 ave 用于按组的内联聚合作为销售百分比的分母:

df <- within(df, {       
   brand_sale <- ave(Sales, Brand, FUN=sum)
   sales_percentage <- Sales / brand_sale       
})

df    
#   ID  Brand Color Gear Sales sales_percentage brand_sale
# 1  1  Honda  Blue    M    80       0.41025641        195
# 2  2 Toyota  Blue    A    75       0.23437500        320
# 3  3   Ford  Blue    M    25       0.13888889        180
# 4  4  Honda   Red    M   100       0.51282051        195
# 5  5 Toyota   Red    M   125       0.39062500        320
# 6  6   Ford   Red    M    90       0.50000000        180
# 7  7  Honda Green    A    15       0.07692308        195
# 8  8 Toyota Green    M   120       0.37500000        320
# 9  9   Ford Green    A    65       0.36111111        180

c <-  ggplot(df) + 
  geom_bar(aes(Color, sales_percentage) , stat = "identity") + 
  facet_wrap(~ Brand)
c

【讨论】:

  • 这正是我所需要的。有没有办法向 ave 添加计数函数而不是求和函数?
  • 很高兴听到!是的,将sum 替换为length,然后调整sales_percentage 计算:1 / brand_count
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-24
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多