显示频率(%)并计算条形图

时间:2015-10-07 07:52:00

标签: r ggplot2 bar-chart

我有一个包含三列的数据框:

  1. 结果:因子变量(有两行)
  2. n:显示因子变量在数据框中出现的时间的整数变量
  3. freq:dbl变量,显示数据集中因子变量的频率

    df< - data.frame(outcome = as.factor(c(“Good”,“Bad”)),                  n = c(700,300),freq = c(70,30))

  4. 我使用以下代码根据我的因子变量的频率创建条形图:

    library(ggplot2)  
    
    ggplot(df, aes(x=outcome, y=freq, fill=outcome)) + 
      geom_bar(stat="identity", width=.4) +
      geom_text(aes(label=paste0(freq,"%")), vjust=1.5, colour="white")
    

    此代码显示每个条形图顶部的频率,如70% enter image description here

    我想在条形图上显示频率和计数。类似于:70% (4532) 如果可能的话,使用百分比和计数之间的换行符。

    关于如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:1)

ggplot(df, aes(x=outcome, y=freq, fill=outcome)) + 
 geom_bar(stat="identity", width=.4) +
 geom_text(aes(label=paste0(freq, "%\n(", n, ")"), vjust=1.5, colour="white")

(seems like this isn't the case)