A, B, C 마을에 거주하는 개인 집단에서 당뇨병 유병률을 나타내는 누적 비례 막대 차트를 만들고 싶습니다. 또한 플롯에 전체 집단을 나타내는 막대를 표시하고 싶습니다.
아래 플롯에 만족하지만 전처리 단계를 처리 단계에 통합하는 방법이 있는지 알고 싶습니다. 즉, dplyr ()로 파이핑합니까?
감사!
시작점 (df) :
dfa <- data.frame(town=c("A","A","A","B","B","C","C","C","C","C"),diabetes=c("y","y","n","n","y","n","y","n","n","y"),heartdisease=c("n","y","y","n","y","y","n","n","n","y"))
전처리 :
dfb <- rbind(dfa, transform(dfa, town = "ALL"))
처리 및 플롯 :
library(dplyr)
library(ggplot)
dfc <- dfb %>%
group_by(town) %>%
count(diabetes) %>%
mutate(prop = n / sum(n))
ggplot(dfc, aes(x = town, y = prop, fill = diabetes)) +
geom_bar(stat = "identity") +
coord_flip()
이렇게 :
dfc <- dfa %>%
bind_rows(dfa %>%
mutate(town = "ALL")) %>%
group_by(town) %>%
count(diabetes) %>%
mutate(prop = n / sum(n)) %>%
ggplot(aes(x = town, y = prop, fill = diabetes)) +
geom_bar(stat = "identity") +
coord_flip()
편집 :bind_rows
및 mutate
대신 rbind
및 사용하여 파이프 라인에 전처리 추가transform
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다