我如何在构面中显示组内百分比?
How do i show in-group percenteges in facets?
我试图形象化学生根据他们以前的教育而辍学的倾向。我有两个感兴趣的变量; "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)
然后我得到以下结果:
这是一个不错的可视化,但是某些项目的学生 "a lot" 多于其他项目。这使得模式难以区分。我更愿意看到每个项目的组内百分比,这样每个项目在各个方面的每个结果的百分比总和为 100%。
例如,最大的程序 (Ekonomiprogrammet/Ekonomi) 共有 55 名学生,因此第一个方面最上面的栏应该显示为 34/55,第二个栏中的栏为 15/55,在第三个 6/55 等等。
这可能吗?
编辑:
发布来自两个相关变量的数据(因为我们有 14 个不同的子组,所以 "small" 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")
也许是这样的(其中 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))
我试图形象化学生根据他们以前的教育而辍学的倾向。我有两个感兴趣的变量; "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)
然后我得到以下结果:
这是一个不错的可视化,但是某些项目的学生 "a lot" 多于其他项目。这使得模式难以区分。我更愿意看到每个项目的组内百分比,这样每个项目在各个方面的每个结果的百分比总和为 100%。
例如,最大的程序 (Ekonomiprogrammet/Ekonomi) 共有 55 名学生,因此第一个方面最上面的栏应该显示为 34/55,第二个栏中的栏为 15/55,在第三个 6/55 等等。
这可能吗?
编辑:
发布来自两个相关变量的数据(因为我们有 14 个不同的子组,所以 "small" 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")
也许是这样的(其中 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))