[英]ggplot2 geom_bar: plot sum of two variables and group by proportion of each variable
[英]Plot 2 variables in ggplot to show proportion/percentage, not sum
我想按州繪制對調查問題的回答。 我有數據框
DF <- data.frame(V1 = factor(c("Option 1", "Option 1", "Option 1", "Option 2", "Option 1", "Option 2", "Option 1", "Option 1", "Option 2", NA, "Option 2", "Option 1")),
Location = factor(c("California", "Georgia", "Texas", "Texas", "Georgia", "Georgia", "California", "Georgia", "Texas", "Texas", "California", "Georgia")))
由於示例中的喬治亞州代表過多,因此該圖可能難以解釋:
library(tidyr)
library(dplyr)
DF %>%
filter(!is.na(V1)) %>%
ggplot(aes(V1, ..count..)) +
geom_bar(aes(fill = Location), position = "dodge") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
有沒有一種方法可以顯示響應的比例/百分比,每個州的響應標准化為1或100?
我不確定要遵循的是100%,但這是一個選項,顯示了不同選項的相對比例,而不是數量:
DF <- data.frame(
V1 = factor(c("Option 1", "Option 1", "Option 1", "Option 2", "Option 1", "Option 2", "Option 1", "Option 1", "Option 2", NA, "Option 2", "Option 1")),
Location = factor(c("California", "Georgia", "Texas", "Texas", "Georgia", "Georgia", "California", "Georgia", "Texas", "Texas", "California", "Georgia"))
)
library("tidyverse")
DF <- filter(DF, !is.na(V1))
ggplot(DF, aes(Location, fill = V1)) +
geom_bar(position = "fill")
(然后,您可能希望將y軸重命名為“比例”或類似名稱)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.