R 如何向ggplot2中的有序条形图添加频率百分比

R 如何向ggplot2中的有序条形图添加频率百分比,r,ggplot2,annotations,bar-chart,frequency,R,Ggplot2,Annotations,Bar Chart,Frequency,我需要建立一个水平条形图,它是有序的,并且在顶部(侧面)有频率计数(我可以得到)和频率百分比。到目前为止,我的代码看起来像这样。我无法订购图表或添加百分比(除了计数)。非常感谢您的帮助。很抱歉,我是新来的,没有足够的声誉来发布示例图片 event <- c("a","a","a","a","a","a","b","b","b","b","c","c","c","c","c") dat <- data.frame(event) ggplot(dat, aes(x=event)) +

我需要建立一个水平条形图,它是有序的,并且在顶部(侧面)有频率计数(我可以得到)和频率百分比。到目前为止,我的代码看起来像这样。我无法订购图表或添加百分比(除了计数)。非常感谢您的帮助。很抱歉,我是新来的,没有足够的声誉来发布示例图片

event <- c("a","a","a","a","a","a","b","b","b","b","c","c","c","c","c")
dat <- data.frame(event)


ggplot(dat, aes(x=event)) + geom_bar(fill = "orange", width = 0.5) + coord_flip() +
  geom_text(stat='bin',aes(label=..count..,vjust=.75, hjust = 0))

事件可以通过事先更改因子来更改顺序:

dat$event <- factor(dat$event, levels = names(sort(table(dat$event)))). 

当然,这已经被问到了,并得到了回答。您进行过搜索吗?可以通过事先更改因子来更改顺序:
dat$event@lukeA–非常感谢。您的解释是正确的,解决了我遇到的问题。@BondedDust,我确实搜索过,但除了计数之外,还错过了如何粘贴%s。谢谢。很酷,我提交了评论作为答案,这样你就可以将问题标记为已解决。
geom_text(stat='bin', 
      aes(label=paste0(..count.., 
                       ", ", 
                       round(..count../sum(..count..)*100, 1), 
                       "%")))