gpt4 book ai didi

r - 并排条形图与ggplot

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

我正在尝试显示一个并排条形图,用于比较 2 列之间每个字母等级的计数。 (A 彼此相邻,B 彼此相邻等)

> dat = data.frame(grade1 = c('A','A','A','B','B','C'), grade2 = c('A','B','C','C','D','D'))
> dat
grade1 grade2
1 A A
2 A B
3 A C
4 B C
5 B D
6 C D
> ggplot(dat, aes(x=grade1, fill=grade2)) +
geom_bar(position=position_dodge())

我试图得到一个看起来像这样的结果,在 x 轴上有 4 个标签(A、B、C、D)。我应该使用特定的 dplyr 函数吗?

https://i0.wp.com/martinsbioblogg.files.wordpress.com/2014/03/means-barplot.png

最佳答案

您需要以整洁的形式转换数据框。为此,您可以使用tidyr 封装函数gather。为确保使用有序因子对字母等级进行正确排序是合适的:

library(tidyr)
library(ggplot2)

dat <- data.frame(grade1 = c('A','A','A','B','B','C'), grade2 = c('A','B','C','C','D','D'))

tidy_dat <- gather(dat)
tidy_dat[,2] <- ordered(tidy_dat[,2], levels = c('A','B','C','D'))

ggplot(tidy_dat, aes(x= value, fill = key))+
geom_bar(position = 'dodge')

enter image description here

关于r - 并排条形图与ggplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42084775/

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