如果您在 R 中使用 ggplot2 制作条形图,如何在该级别频率为 0 的情况下,包含因变量级别。


在研究中,有时我们得到某因变量特定级别的频率为零,但我们可能想要将其绘制在条形图中,以便任何查看图表的人都可以轻松理解所缺少的内容并比较所有因变量级别。在 ggplot2 中,可以使用 scale_x_discrete 函数来实现此目的。

> x<-factor(rep(c("S1","S2","S3","S4"),times=5))
> df<-data.frame(x)

假设您也有因子级别 S5,但 S5 的频率为零,如下所示 −

> df$x<-factor(df$x,levels=c("S1","S2","S3","S4","S5"))
> df$x
    [1] S1 S2 S3 S4 S1 S2 S3 S4 S1 S2 S3 S4 S1 S2 S3 S4 S1 S2 S3 S4
Levels: S1 S2 S3 S4 S5

加载 ggplot2 包 −

> library(ggplot2)

现在,当我们绘制条形图时,没有第五个级别 −

> ggplot(df,aes(x))+geom_bar()

输出

绘制所有因变量级别的 R 命令如下所示 −

> ggplot(df,aes(x))+geom_bar()+
+ scale_x_discrete(drop=FALSE)

输出

更新日期:10-Aug-2020

347 次浏览

开启你的职业生涯

完成课程即可获得认证

开始
广告