【问题标题】:How do i show in-group percenteges in facets?如何在方面显示组内百分比?
【发布时间】:2020-02-26 22:56:49
【问题描述】:

我试图想象学生辍学的趋势取决于他们以前的教育。我有两个感兴趣的变量; “gymnasiegrov”显示他们的高中课程和“totstatus_tri”,显示结果并具有三个级别(退出第一学期,稍后退出,仍在计划中)。

到目前为止,我已经设法使用以下代码进行了不错的可视化:

ggplot(fulldata, aes(x=fct_infreq(gymnasiegrov))) + 
  geom_bar()+
  coord_flip() +
  scale_x_discrete(limits = rev(levels(fct_infreq(fulldata$gymnasiegrov))))+
  facet_wrap(~totstatus_tri)

然后我得到以下结果:

这是一个不错的可视化,但是来自某些程序的学生比其他程序“多得多”。这使得模式难以区分。我更愿意看到每个项目的组内百分比,这样每个项目的每个结果的百分比总和为 100%。

例如,最大的项目 (Ekonomiprogrammet/Ekonomi) 共有 55 名学生,所以第一个方面的最上面的条应该是 34/55,第二个的条应该是 15/55,第三个的条是 6 /55 等等。

这可能吗?

编辑:

发布来自两个相关变量的数据(因为我们有 14 个不同的子组,所以大约 20 个观察值的“小”样本可能不是很有意义):

structure(list(gymnasiegrov = c("Hotell- och Restaurang", NA, 
"specialutformat program", "komvux", NA, "bygg, el, fordon, hantverk, sjöfart, industriteknik", 
"estetiska programmet", "komvux", "naturvetenskapliga programmet", 
NA, "specialutformat program", "estetiska programmet", "medieprogrammet/medieproduktion", 
"specialutformat program", "specialutformat program", "komvux", 
"estetiska programmet", "samhällsvetenskapliga programmet", "specialutformat program", 
"friskoleprogram", "teknikprogrammet", "specialutformat program", 
"teknikprogrammet", "Handels- och administrationsprogrammet", 
"Hotell- och Restaurang", "samhällsvetenskapliga programmet", 
"samhälls- och ekonomiprogrammet", "specialutformat program", 
"komvux", "specialutformat program", "specialutformat program", 
"bygg, el, fordon, hantverk, sjöfart, industriteknik", "komvux", 
"Handels- och administrationsprogrammet", "teknikprogrammet", 
"teknikprogrammet", "friskoleprogram", "specialutformat program", 
"naturvetenskapliga programmet", "naturvetenskapliga programmet", 
"samhällsvetenskapliga programmet", "ekonomiprogrammet/ ekonomi", 
"samhällsvetenskapliga programmet", "samhällsvetenskapliga programmet", 
"Hotell- och Restaurang", "specialutformat program", "samhällsvetenskapliga programmet", 
"ekonomiprogrammet/ ekonomi", "bygg, el, fordon, hantverk, sjöfart, industriteknik", 
"ekonomiprogrammet/ ekonomi", "komvux", "bygg, el, fordon, hantverk, sjöfart, industriteknik", 
"estetiska programmet", "estetiska programmet", "samhällsvetenskapliga programmet", 
"ekonomiprogrammet/ ekonomi", "naturvetenskapliga programmet", 
"ekonomiprogrammet/ ekonomi", "bygg, el, fordon, hantverk, sjöfart, industriteknik", 
"ekonomiprogrammet/ ekonomi", "bygg, el, fordon, hantverk, sjöfart, industriteknik", 
"ekonomiprogrammet/ ekonomi", "bygg, el, fordon, hantverk, sjöfart, industriteknik", 
"naturvetenskapliga programmet", "Handels- och administrationsprogrammet", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", "bygg, el, fordon, hantverk, sjöfart, industriteknik", 
"bygg, el, fordon, hantverk, sjöfart, industriteknik", "ekonomiprogrammet/ juridik", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ juridik", "ekonomiprogrammet/ ekonomi", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", "bygg, el, fordon, hantverk, sjöfart, industriteknik", 
"ekonomiprogrammet/ ekonomi", "Handels- och administrationsprogrammet", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", "estetiska programmet", 
"ekonomiprogrammet/ ekonomi", "teknikprogrammet", "samhällsvetenskapliga programmet", 
"naturvetenskapliga programmet", "naturvetenskapliga programmet", 
"teknikprogrammet", "ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", "samhällsvetenskapliga programmet", 
"samhällsvetenskapliga programmet", "naturvetenskapliga programmet", 
"ekonomiprogrammet/ juridik", "ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ juridik", 
"samhällsvetenskapliga programmet", "ekonomiprogrammet/ ekonomi", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", 
"samhällsvetenskapliga programmet", "samhällsvetenskapliga programmet", 
"samhällsvetenskapliga programmet", "ekonomiprogrammet/ juridik", 
"teknikprogrammet", "teknikprogrammet", "ekonomiprogrammet/ ekonomi", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", 
"ekonomiprogrammet/ ekonomi", "naturvetenskapliga programmet", 
"naturvetenskapliga programmet", "ekonomiprogrammet/ ekonomi", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", "naturvetenskapliga programmet", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ juridik", 
"teknikprogrammet", "ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", 
"ekonomiprogrammet/ ekonomi", "naturvetenskapliga programmet", 
"ekonomiprogrammet/ juridik", "naturvetenskapliga programmet", 
"teknikprogrammet", "ekonomiprogrammet/ juridik", "ekonomiprogrammet/ ekonomi", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", 
"samhällsvetenskapliga programmet", "ekonomiprogrammet/ ekonomi", 
"samhällsvetenskapliga programmet", "estetiska programmet", "ekonomiprogrammet/ ekonomi", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ juridik", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ ekonomi", "teknikprogrammet", 
"naturvetenskapliga programmet", "ekonomiprogrammet/ ekonomi", 
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ juridik", "ekonomiprogrammet/ ekonomi", 
NA, NA, NA, NA, NA, NA, NA, NA), totstatus_tri = c("troligt avbrott", 
"tidigt avbrott eller återbud", "pågående studier", "troligt avbrott", 
"troligt avbrott", "pågående studier", "pågående studier", "pågående studier", 
"pågående studier", "pågående studier", "pågående studier", "tidigt avbrott eller återbud", 
"tidigt avbrott eller återbud", "pågående studier", "tidigt avbrott eller återbud", 
"tidigt avbrott eller återbud", "pågående studier", "pågående studier", 
"troligt avbrott", "pågående studier", "pågående studier", "tidigt avbrott eller återbud", 
"troligt avbrott", "tidigt avbrott eller återbud", "pågående studier", 
"pågående studier", "pågående studier", "troligt avbrott", "troligt avbrott", 
"pågående studier", "pågående studier", "pågående studier", "pågående studier", 
"pågående studier", "tidigt avbrott eller återbud", "pågående studier", 
"pågående studier", "pågående studier", "pågående studier", "tidigt avbrott eller återbud", 
"pågående studier", "pågående studier", "tidigt avbrott eller återbud", 
"pågående studier", "tidigt avbrott eller återbud", "tidigt avbrott eller återbud", 
"tidigt avbrott eller återbud", "tidigt avbrott eller återbud", 
"pågående studier", "troligt avbrott", "tidigt avbrott eller återbud", 
"pågående studier", "tidigt avbrott eller återbud", "pågående studier", 
"troligt avbrott", "pågående studier", "pågående studier", "pågående studier", 
"pågående studier", "tidigt avbrott eller återbud", "pågående studier", 
"pågående studier", "tidigt avbrott eller återbud", "pågående studier", 
"pågående studier", "tidigt avbrott eller återbud", "tidigt avbrott eller återbud", 
"tidigt avbrott eller återbud", "pågående studier", "troligt avbrott", 
"tidigt avbrott eller återbud", "pågående studier", "pågående studier", 
"pågående studier", "pågående studier", "tidigt avbrott eller återbud", 
"tidigt avbrott eller återbud", "pågående studier", "pågående studier", 
"pågående studier", "pågående studier", "pågående studier", "pågående studier", 
"pågående studier", "pågående studier", "pågående studier", "pågående studier", 
"pågående studier", "tidigt avbrott eller återbud", "pågående studier", 
"pågående studier", "pågående studier", "pågående studier", "pågående studier", 
"troligt avbrott", "troligt avbrott", "pågående studier", "pågående studier", 
"tidigt avbrott eller återbud", "pågående studier", "tidigt avbrott eller återbud", 
"pågående studier", "pågående studier", "pågående studier", "tidigt avbrott eller återbud", 
"pågående studier", "troligt avbrott", "tidigt avbrott eller återbud", 
"pågående studier", "pågående studier", "troligt avbrott", "pågående studier", 
"pågående studier", "tidigt avbrott eller återbud", "tidigt avbrott eller återbud", 
"pågående studier", "pågående studier", "pågående studier", "troligt avbrott", 
"pågående studier", "tidigt avbrott eller återbud", "pågående studier", 
"tidigt avbrott eller återbud", "troligt avbrott", "pågående studier", 
"pågående studier", "pågående studier", "pågående studier", "troligt avbrott", 
"pågående studier", "pågående studier", "pågående studier", "pågående studier", 
"pågående studier", "pågående studier", "pågående studier", "tidigt avbrott eller återbud", 
"troligt avbrott", "pågående studier", "pågående studier", "tidigt avbrott eller återbud", 
"tidigt avbrott eller återbud", "pågående studier", "pågående studier", 
"troligt avbrott", "troligt avbrott", "pågående studier", "tidigt avbrott eller återbud", 
"tidigt avbrott eller återbud", "pågående studier", "troligt avbrott", 
"pågående studier", "pågående studier", "tidigt avbrott eller återbud", 
"pågående studier", "pågående studier", "pågående studier", "pågående studier", 
"troligt avbrott", "pågående studier", "pågående studier", "pågående studier"
)), row.names = c(NA, -162L), class = "data.frame")

【问题讨论】:

    标签: r ggplot2 facet-wrap


    【解决方案1】:

    可能是这样的(antal 是您的计数变量)?

    library(tidyverse)
    fulldata %>% 
        group_by(gymnasiegrov) %>% 
        mutate(andel = antal / sum(antal)) %>% 
        ggplot(.) + 
        geom_bar(mapping = aes(x = gymnasiegrov, y = andel)) + 
        coord_flip() + 
        facet_wrap(~totstatus_tri)
    

    编辑:

    fulldata %>%
      as_tibble() %>%
      group_by(gymnasiegrov, totstatus_tri) %>% 
      summarise(antal = n()) %>% 
      mutate(andel = antal / sum(antal))
    

    【讨论】:

    • 我首先创建一个“antal”变量,每次观察读取 1。然后我应用你的代码。然后我收到一条错误消息,说“错误:stat_count() 不得与 y 美学一起使用。”?
    • @Magnus 尝试 geom_col(mapping = aes(x = gymnasiegrov, y = andel))
    • 我明天必须回复您,谢谢您的意见! :)
    • 它现在确实生成了一个图,但是各个方面的数字加起来不等于 1.0。 "Ekonomiprogrammet/ekonomi" 应该是 0.62, 0.27, 0.11 但它是 0.22, 0.09, 0.04 (ish)
    • 我想我明白了问题所在,代码没有计算分组“andel”,我们得到的是一个全局值。
    猜你喜欢
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    • 2020-05-20
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多