- Sank Diagram 으로 QC 데이터 시각화 하기(ggalluvial)2023년 05월 29일 08시 15분 37초에 업로드 된 글입니다.작성자: r-code-for-data-analysis
날짜별 제품의 신뢰성 데이터를 측정을 하고, Spec을 정해서 Pass, Fail을 정한다고 해보자.
제품의 특정 position1 과 position2 중 어떤 위치에서 불량율이 높인지를 보는데 용이한 패키지가 있다.
바로 "ggalluvial" 패키지이다. 이걸 이용한 그래프를 Sank Diagram이라고 한다.
https://corybrunson.github.io/ggalluvial/
간단한 예제
1. 날짜별 제품의 위치1 (1~4번) 과 위치2 (5번~8번)의 저항 데이터를 불러온다.
2. 데이터 전치리와 시각화
df %>% pivot_longer(cols = `1번`: `8번`, names_to = "position", values_to = "resistance") %>% mutate(side = ifelse(position %in% c("1번", "2번", "3번", "4번"), "Position1", "Posision2")) %>% mutate(decision = ifelse(resistance < spec, "pass", "fail")) %>% mutate(decision = factor(decision, levels=c("pass", "fail"))) %>% group_by(세정.일, side, decision) %>% summarise(Freq = sum(ifelse(decision == "pass", 1, -1)), .groups = "drop") %>% mutate(Freq = abs(Freq)) %>% ggplot(aes(axis1 = 세정.일, axis2 = side, axis3 = decision, y = Freq)) + scale_x_discrete(limits = c("날짜", "side", "decision"), expand = c(.2, .05)) + xlab("Demographic") + geom_alluvium(aes(fill = decision)) + geom_stratum() + geom_text(stat = "stratum", aes(label = after_stat(stratum))) + theme_minimal() + ggtitle("QC measurement Data", "stratified by date and side position (Pass : R < spec Ω, Fail : R ≥ spec Ω)")
3. 결과 보기
728x90반응형'데이터 시각화' 카테고리의 다른 글
그래프에서 하이라이트 적용하기(gghighlight) (0) 2023.05.29 xyz 3열의 데이터를 2d, 3d로 시각화 해보기(plot_ly) (0) 2023.05.29 RSTUIDO에서 boxplot, density, point를 한번에 그리는 법(ggdist) (0) 2023.05.29 RSTUDIO 에서 COLOR 선택하기(ggsci,tidyquant) (0) 2023.05.29 GPT를 RSTUDIO에서 사용하고 워드클라우드까지 해 보기(chatgpt) (0) 2023.05.28 댓글