Recent Posts
Stats & AI tech blog - '일단 시도함'
[R] 그룹 별로 정규성 검정 (shapiro_test, group_by, qqplot) 본문
통계 분석을 하다보면 데이터의 각 그룹(ex. 치료군/대조군) 별로 정규성 검정을 하는 경우가 많다.
아래 함수를 통해 변수를 동적으로 바꿔가며 group_by를 사용한 shapiro_test를 수행할 수 있다.
1. shapiro_test {rstatix}, group_by {dplyr}
library(rstatix)
data %>%
group_by(group) %>%
shapiro_test(ALCAM)
# 변수 바꿔가며 테스트 반복
lapply(colnames(permnt)[4:15], function(var){
permnt %>%
group_by(cbct) %>%
shapiro_test({{var}})
})
group variable statistic p
<chr> <chr> <dbl> <dbl>
1 ln ALCAM 0.684 4.54e-11
2 nc ALCAM 0.903 2.76e- 3
3 sle ALCAM 0.626 8.74e-12
정규성을 확인할 때는 qqplot이나 density plot을 함께 그려보는 것이 좋다.
아래는 qqplotr 패키지와 ggplot2 패키지를 활용하여 그룹 별로 qqplot, density plot을 그리는 코드이다.
2. qqplot {qqplotr} , ggplot {ggplot2}
library(ggplot2)
library(qqplotr)
ggplot(data = iris, mapping = aes(sample = Sepal.Length, fill = Species))+
stat_qq_band(alpha=0.15) +stat_qq_line(alpha=0.15) +stat_qq_point(size=0.5) + facet_wrap(~ Species) +labs(title = "Normal Q-Q plot", x = "Theoretical Quantiles", y = "Sample Quantiles")+theme_bw()
3. geom_density {ggplot2}
ggplot(data=iris, aes(x = Sepal.Length, fill = Species)) +
geom_density(alpha = 0.15)+labs(title = "Density plot with multiple groups")+theme_bw()
'Programming > R' 카테고리의 다른 글
[R] 자주 쓰는 전처리 코드 정리 (0) | 2024.02.23 |
---|---|
[R] 여러 개의 ggplot 한번에 저장 (ggplot, ggsave) (1) | 2024.02.16 |
[R] Decision Tree (의사결정나무) (0) | 2024.01.15 |
[R] Cohen's Kappa (카파상관계수) (0) | 2024.01.12 |
[R] Scatter plot with Regression lines (ggplot2) (0) | 2024.01.10 |