我正在嘗試制作條形圖
ggplot(data= Dataa, aes(x = Gender, fill = Q1))
theme_bw()
geom_bar(position = "dodge")
labs(title = "Figure 1.1", subtitle = "Distribution of national exam scores by region", y = "Count", x = "Average score for each student (MSTUDENT)")
theme(plot.subtitle=element_text(face="bold"))
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.background = element_blank(), axis.line = element_line(colour = "black"))
theme(plot.title=element_text(face="bold"))
我想訂購兩種性別的酒吧,升序,

uj5u.com熱心網友回復:
實作所需結果的一種選擇:
geom_bar而不是在將資料傳遞給之前通過聚合資料來計算計數ggplot- 排列你的資料
Gender并計數(默認情況下命名n為dplyr::count - 分組并為每個類別
Gender添加一個助手id或更準確的排名。Q1 - 在美學上映射輔助列,
group以便根據等級對條進行排序。
除此之外,我們必須切換geom_col并映射手動計算的y美學數量。
使用一些假的隨機示例資料:
library(ggplot2)
library(dplyr)
# Aggregate data, arrange and add helper variable
Dataa1 <- Dataa %>%
count(Gender, Q1) %>%
arrange(Gender, n) %>%
group_by(Gender) %>%
mutate(id = row_number())
ggplot(data= Dataa1, aes(x = Gender, y = n, group = id, fill = Q1))
theme_bw()
geom_col(position = "dodge")
labs(title = "Figure 1.1", subtitle = "Distribution of national exam scores by region", y = "Count", x = "Average score for each student (MSTUDENT)")
theme(plot.subtitle=element_text(face="bold"))
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.background = element_blank(), axis.line = element_line(colour = "black"))
theme(plot.title=element_text(face="bold"))

資料
set.seed(123)
Dataa <- data.frame(
Gender = rep(c("Kvinner", "Mann"), 100),
Q1 = sample(paste0("Bank", 1:10), 200, replace = TRUE)
)
Dataa$Q1 <- factor(Dataa$Q1, levels = paste0("Bank", 1:10))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/416768.html
標籤:
