我的数据集包含有关大学毕业生的数据。每个观察都是一个专业,分为十二类。我正在尝试找到女性比例最高的专业类别。我关注的变量是major_category(字符)和sharewomen(每个专业中女性毕业生的百分比)。
我能够将数据显示在条形图上,但是该列的条形将无法正确地重新排序。 grads $ major_category是一个因素,我尝试过在dplyr管道之外的共享女性对因素进行重新排序,但该方法无效。我尝试了在aes()中进行fct_reorder和reorder的操作,并尝试删除了coord_flip()并在reorder命令中使用了-或desc()。下面是我现在拥有的代码及其产生的图形:
grads %>%
filter(major_category != "Interdisciplinary") %>%
select(major_category, total, sharewomen) %>%
group_by(major_category) %>%
ggplot(aes(x = reorder(major_category, -sharewomen), y = sharewomen), stat = "identity")+
geom_bar(stat = "identity") + coord_flip()
答案 0 :(得分:1)
我使用数据尝试了您的代码:
grads <-
tribble(
~major_category, ~sharewomen,
"Business", 6.2,
"Social Science", 5.1,
"Biology", 8.05,
"Education", 12,
"Interdisciplinary", 1.2
)
您所描述的变体(例如fct_reorder
)和没有group_by
的情况也相同。例如:
grads %>%
filter(major_category != "Interdisciplinary") %>%
select(major_category, sharewomen) %>%
ggplot(aes(x = fct_reorder(major_category, -sharewomen), y = sharewomen))+
geom_col() +
coord_flip()
也许tidyverse
dplyr
需要更新吗?