簡體   English   中英

如何擺脫多面圖中的空條形圖?

[英]How do I get rid of the empty bar charts in a faceted plot?

我在 R 中遇到了 facet_grid 函數的問題。我自己的實驗設計有些復雜且難以解釋,但我創建了一個與我正在做的結構相似的假數據集,所以我希望它會有所幫助。

假設我們做了一個愚蠢的實驗,讓 10 個人對 2 種水果和 2 種蔬菜進行評分,詢問他們是否喜歡這些食物。 所以響應變量是二進制的。 以下代碼生成我的假數據集,並繪制我想要的圖形。

但有一個問題。 facet_grid 創建的每個面板都包含各種食物 - 但由於這是一個嵌套設計,Apple 和 Pear 的所有數據點僅屬於“水果”類別,而 Broccoli 和 Cabbage 的數據點屬於“蔬菜”類別,我們最終得到“空條”。

有沒有辦法讓我擺脫它們?

我想有兩個按食物細分的面板(即水果與蔬菜),我希望每個面板只顯示兩個條形圖(左邊一個顯示蘋果和梨,右邊一個顯示西蘭花和卷心菜)。 我怎樣才能修改我的代碼來做到這一點?

Food <- rep(c("Fruit", "Vegetable"), each=20)
Food

Kind <- rep(c("Apple", "Pear", "Broccoli", "Cabbage"), each=10)
Kind

Rating <- rep(c("Like", "Dislike"), each=20)
Rating

set.seed(111)

Rating <- sample(Rating, 40, replace=FALSE)
Rating

FoodRatings <- cbind(Food, Kind, Rating)

FoodRatings <- as_data_frame(FoodRatings)

ggplot(data=FoodRatings) + geom_bar(aes(x=Kind, fill=Rating)) +facet_grid(~Food)

您可以在facet_grid()使用scales參數:

ggplot(data=FoodRatings) +
 geom_bar(aes(x=Kind, fill=Rating)) +
 facet_grid(~Food, scales = "free_x")

在此處輸入圖片說明

暫無
暫無

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

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