【发布时间】:2018-01-03 19:14:50
【问题描述】:
我正在尝试创建两个应按降序显示频率的图。
#preparing the data to resemble actual data
test <- data.frame(HairEyeColor) %>%
mutate(combi = paste(Hair,Eye)) %>%
group_by(Sex) %>%
mutate(prop = Freq / sum(Freq)) %>%
ungroup()
test$combi <- factor(test$combi)
freq_test_count <- test %>%
setorder(Freq)
#creating the plot
freq_test_plot <- freq_test_count %>%
ggplot(aes(x = reorder(combi,prop),y = prop, label = Freq)) +
geom_col(show.legend = FALSE) +
geom_text(check_overlap = TRUE, nudge_y = 0.005, size = 3) +
facet_wrap(~Sex, scales = "free") +
labs(y = "Proportion",
x = NULL) +
coord_flip()
当我绘制 freq_test_plot 时,它会显示绘图但 output is not in decreasing order
我不确定我应该怎么做才能看到按频率降序排列的术语。
【问题讨论】:
-
看起来整体呈递减顺序。你的意思是你想要男性和女性的不同顺序的秤?这听起来可能具有误导性,因为需要仔细观察才能意识到标签的顺序不同。
-
这个想法是为了表明男性和女性的标签顺序不同。我不确定这里的订单是如何决定的。我不明白为什么“金发蓝”30 在“棕蓝”50 之前。
-
您的订单忽略了性别。 Blond Blue 的总数为 30 + 64 = 94,因此它领先于 Brown Blue,即 50 + 34 = 84。我认为这张图表很有用,因为它按总人口排序,以及特定性别的条形图在哪里不是为了突出两性之间的差异。您要求的图表使比较性别差异变得更加困难,因为您必须来回切换阅读和比较标签。
-
例如,这个版本清楚地表明,金发蓝色组合在女性中比男性更常见 - 只要你看图表,它就会跳出来。然而,答案中的图表隐藏了这种洞察力,除非你仔细阅读它们。同样,您问题中的图表显示棕色蓝色比女性更常见,但如果您查看答案中的图表,我会假设标签的顺序相同,并且由于分布看起来大致相同,我会在那里得出结论男性和女性分布之间没有真正的区别。
标签: r ggplot2 facet-wrap