簡體   English   中英

如何在R中繪制多個類別變量

[英]How to plot multiple categorical variables in R

我的數據集包含一些類別變量,我希望這些變量可以可視化以查看分布。

例如,如果要可視化ggplot2的mpg數據集中的4個變量(制造商,trans,fl,class),則必須編寫4行代碼:

ggplot(mpg, aes(manufacturer)) + geom_bar() + coord_flip()
ggplot(mpg, aes(trans)) + geom_bar() + coord_flip()
ggplot(mpg, aes(fl)) + geom_bar() + coord_flip()
ggplot(mpg, aes(class)) + geom_bar() + coord_flip()

結果條形圖:

在此處輸入圖片說明

如何編寫代碼以更有效地執行此操作? 環? 應用功能? 如果可能,我希望一次查看一張圖表。

您使用lapply想法是一種解決方案。

這要求使用aes_string代替aes

單一地塊

lapply第一個參數提供的每列(名稱)創建單個圖:

lapply(c("manufacturer", "trans", "fl", "class"),
  function(col) {
    ggplot(mpg, aes_string(col)) + geom_bar() + coord_flip()
  })

組合地塊

如果需要在一個繪圖區域上進行所有繪圖,則可以使用miscset::ggplotGrid

library(miscset) # install from CRAN if required
ggplotGrid(ncol = 2,
  lapply(c("manufacturer", "trans", "fl", "class"),
    function(col) {
        ggplot(mpg, aes_string(col)) + geom_bar() + coord_flip()
    }))

結果看起來像:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM