我想做一個圖,但想根據給定的值來排列因子變數。看起來這個圖并沒有反映出我想要的東西。我想讓語言根據平均分來排序。有什么想法嗎?
library(tidyverse)
set.seed(200) # reproducible
df <- tibble()
語言= gl(4, 10。 標簽 = c("Python"/span>。 "R", "Javascipt"。 "Excel")),
性別 = factor(ifelse(sign(rnorm(40))==-1。 0, 1)。 標簽 = c("Male"/span>。 "Female")),
分數 = floor(runif(40。 25, 80))
)
df <- df %> % group_by(gender, language) %>%
summarise(meanscore = mean(score))
df %>%
mutate(language = fct_reorder(language, meanscore)) %> %
ggplot(aes(language, meanscore。 填充=性別))
geom_col()
facet_wrap(~gender)
coord_flip()
uj5u.com熱心網友回復:
我相信這就是你想要的?利用軟體包tidytext中的reorder_within。
library(tidytext)
set.seed(200)
df <- tibble()
語言= gl(4, 10。 標簽 = c("Python"/span>。 "R", "Javascipt"。 "Excel")),
性別 = factor(ifelse(sign(rnorm(40))==-1。 0, 1)。 標簽 = c("Male"/span>。 "Female")),
分數 = floor(runif(40。 25, 80))
)
df <- df %> % group_by(gender, language) %>%
summarise(meanscore = mean(score))
ggplot(df, aes(reorder_within(language, meanscore, 性別),手段core。 填充=性別))
geom_bar(stat = "identity")
coord_flip()
scale_x_reordered()
facet_wrap(gender ~. ,規模= "free")
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/322210.html
標籤:
下一篇:R中的"|"是什么意思?
