R 按性别和值对百分比堆叠条形图重新排序
我试图按性别重新排列我的价值观,从最高的女性到最低的女性 此数据集的第一个值是:R 按性别和值对百分比堆叠条形图重新排序,r,ggplot2,dplyr,tidyverse,R,Ggplot2,Dplyr,Tidyverse,我试图按性别重新排列我的价值观,从最高的女性到最低的女性 此数据集的第一个值是: sex,values,citizen_full F,543,Aghanistan M,376,Afghanistan F,131,Albania M,141,Albania F,134,Argentina M,107,Argentina F,325,Austria M,231,Austria 您可以使用fct\u重新排序功能: df <- tibble::tribble( ~sex, ~values
sex,values,citizen_full
F,543,Aghanistan
M,376,Afghanistan
F,131,Albania
M,141,Albania
F,134,Argentina
M,107,Argentina
F,325,Austria
M,231,Austria
您可以使用
fct\u重新排序
功能:
df <- tibble::tribble(
~sex, ~values, ~citizen_full,
"F", 543L, "Aghanistan",
"M", 376L, "Afghanistan",
"F", 131L, "Albania",
"M", 141L, "Albania",
"F", 134L, "Argentina",
"M", 107L, "Argentina",
"F", 325L, "Austria",
"M", 231L, "Austria"
)
library(dplyr)
library(ggplot2)
library(forcats)
df %>%
group_by(citizen_full, sex) %>%
mutate(sum_sex_grouped = sum(values)) %>%
group_by(citizen_full) %>%
mutate(sum_citizien = sum(values),
sex_percent = sum_sex_grouped/sum_citizien,
percent_women = if_else(sex == "F", sex_percent, 0)) %>%
ggplot(aes(x = fct_reorder(citizen_full, desc(percent_women)), y = values, fill = sex)) +
geom_bar(position = 'fill', stat = 'identity') +
theme_minimal()
df%
组别(公民人数、性别)%>%
变异(总和性别分组=总和(值))%>%
分组人(公民人数)%>%
变异(sum_citizien=sum(值),
性别百分比=总和性别分组/总和城市,
女性百分比=如果其他(性别=“F”,性别百分比,0))%>%
ggplot(aes(x=fct\U重新排序(公民满,描述(女性百分比)),y=value,fill=sex))+
几何图形栏(位置='fill',状态='identity')+
主题_极小值()
您可以使用
fct\u重新排序
功能:
df <- tibble::tribble(
~sex, ~values, ~citizen_full,
"F", 543L, "Aghanistan",
"M", 376L, "Afghanistan",
"F", 131L, "Albania",
"M", 141L, "Albania",
"F", 134L, "Argentina",
"M", 107L, "Argentina",
"F", 325L, "Austria",
"M", 231L, "Austria"
)
library(dplyr)
library(ggplot2)
library(forcats)
df %>%
group_by(citizen_full, sex) %>%
mutate(sum_sex_grouped = sum(values)) %>%
group_by(citizen_full) %>%
mutate(sum_citizien = sum(values),
sex_percent = sum_sex_grouped/sum_citizien,
percent_women = if_else(sex == "F", sex_percent, 0)) %>%
ggplot(aes(x = fct_reorder(citizen_full, desc(percent_women)), y = values, fill = sex)) +
geom_bar(position = 'fill', stat = 'identity') +
theme_minimal()
df%
组别(公民人数、性别)%>%
变异(总和性别分组=总和(值))%>%
分组人(公民人数)%>%
变异(sum_citizien=sum(值),
性别百分比=总和性别分组/总和城市,
女性百分比=如果其他(性别=“F”,性别百分比,0))%>%
ggplot(aes(x=fct\U重新排序(公民满,描述(女性百分比)),y=value,fill=sex))+
几何图形栏(位置='fill',状态='identity')+
主题_极小值()
还需要包括“图书馆(猫用)”这就像一个符咒,谢谢兄弟@Daniel,在tidyverse软件包中,forcats库也是标准的。还需要包括“library(forcats)”这就像一个符咒,谢谢兄弟@Daniel,forcats库在tidyverse包中也是标准的。