![](/img/trans.png)
[英]How can I separate categorical variables two make two different graphs in r?
[英]Can I make a map in R which shows two different categorical variables (e.g., income and region)?
我正在嘗試制作美國的 map,它顯示兩個分類變量,例如 state 的收入組和 state 所屬的地區。這個想法是使用“填充”美學來顯示每個 state 的收入水平,然后是“顏色”美學來展示每個區域的輪廓。 我試圖傳達的信息是,低收入和高收入州集中在某些地區。
另一種方法是以某種方式顯示區域邊界,其邊界比 state 邊界更粗或更粗,但我也不確定如何執行此操作。 傳達相同信息的其他想法也將受到歡迎。
理想情況下,它將是以下兩個圖的某種組合:
## Create map data
state_map_data <- map_data("state")
state_regions <- tibble(state_name = tolower(state.name), state.region,
as_tibble(state.x77)) %>%
mutate(income_cat = cut(Income, breaks = 3,
labels = c("low", "medium", "high")))
state_map_data <- state_map_data %>%
left_join(state_regions,
by = c("region" = "state_name"))
## Map with just income
p1 <- ggplot() +
geom_polygon(data = state_map_data,
aes(x = long, y = lat, group = group,
fill = income_cat))
print(p1)
## Map with just regions
p2 <- ggplot() +
geom_polygon(data = state_map_data,
aes(x = long, y = lat, group = group,
color = state.region))
print(p2)
## Map with both
p <- ggplot() +
geom_polygon(data = state_map_data,
aes(x = long, y = lat, group = group,
fill = income_cat)) +
geom_polygon(data = state_map_data,
aes(x = long, y = lat, group = group,
color = state.region))
print(p)
這不會產生 map 的預期結果,其中按區域顯示顏色輪廓並按收入顯示填充狀態,如此處所示
您擁有代碼的方式是繪制兩組多邊形,其中state.region
多邊形位於income_cat
多邊形之上。 相反,您想繪制一組具有正確輪廓顏色和填充顏色的多邊形:
ggplot() +
geom_polygon(data = state_map_data,
aes(x = long, y = lat, group = group,
fill = income_cat, color = state.region)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.