gpt4 book ai didi

r - 保留组合条形图中缺失列的位置

转载 作者:行者123 更新时间:2023-12-04 04:09:50 26 4
gpt4 key购买 nike

一个非常常见的问题是在 ggplot 中缺少列(例如 12 )时保留条形宽度。除了此修复之外,我还需要保留条形图的相对位置缺少条形图(即间隙应该在条形图所在的位置)。

ggplot(mtcars, aes(factor(cyl), fill = factor(gear))) +
geom_bar(position = position_dodge(preserve = "single"))

Results - I can't post images yet

您会注意到,在 8 个气缸的组(最右侧)中,缺少一个绿色列(齿轮 = 4)。 preserve="single" 已更正宽度,但蓝色条 (gear=5) 已向左移动以填充空白。

我该如何防止这种情况发生?我希望在本来应该是绿色的地方有一个空隙。

感谢您的帮助。

最佳答案

我们根据'cyl', 'gear'得到频率count,用complete扩展数据得到所有的组合,同时fill 将计数列“n”设为 0(默认情况下,complete 中未提及的所有列在缺少组合的情况下都将获得 NA),然后使用 ggplot

library(dplyr)
library(tidyr)
library(ggplot2)
mtcars %>%
count(cyl, gear) %>%
complete(cyl = unique(cyl), gear = unique(gear),
fill = list(n = 0)) %>%
ggplot(aes(factor(cyl), n, fill = factor(gear))) +
geom_bar(stat = 'identity', position = 'dodge')

关于r - 保留组合条形图中缺失列的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61922380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com