如果您在 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 次瀏覽

開啟你的職業生涯

完成課程即可獲得認證

開始
廣告
© . All rights reserved.