R로 하는 가설 검정
Richie Cotton
Data Evangelist at DataCamp
stack_overflow_imbalanced %>%
count(hobbyist, age_cat, .drop = FALSE)
hobbyist age_cat n
1 No At least 30 0
2 No Under 30 191
3 Yes At least 30 15
4 Yes Under 30 1025
일부 그룹이 다른 그룹보다 훨씬 크면 표본이 불균형 상태입니다.
$H_{0}$: 30세 미만 취미 개발자 비율은 30세 이상 비율과 같다.
$H_{A}$: 30세 미만 취미 개발자 비율은 30세 이상 비율과 다르다.
alpha <- 0.1
stack_overflow_imbalanced %>%
prop_test(
hobbyist ~ age_cat,
order = c("At least 30", "Under 30"),
success = "Yes",
alternative = "two.sided",
correct = FALSE
)
# A tibble: 1 x 6
statistic chisq_df p_value alternative lower_ci upper_ci
<dbl> <dbl> <dbl> <chr> <dbl> <dbl>
1 2.79 1 0.0949 two.sided 0.00718 0.0217
| 플롯 유형 | base-R | ggplot2 |
|---|---|---|
| 산점도 | plot(, type = "p") |
ggplot() + geom_point() |
| 선 그래프 | plot(, type = "l") |
ggplot() + geom_line() |
| 히스토그램 | hist() |
ggplot() + geom_histogram() |
| 상자 그림 | boxplot() |
ggplot() + geom_boxplot() |
| 막대 그래프 | barplot() |
ggplot() + geom_bar() |
| 원 그래프 | pie() |
ggplot() + geom_bar() + coord_polar() |
infer 패키지로 구현됨.generate()는 시뮬레이션 데이터를 생성합니다.null_distn <- dataset %>%
specify() %>%
hypothesize() %>%
generate() %>%
calculate()
obs_stat <- dataset %>%
specify() %>%
calculate()
get_p_value(null_distn, obs_stat)

specify()는 검정할 변수를 선택합니다.
response ~ explanatory 사용.response ~ NULL 사용.stack_overflow_imbalanced %>%
specify(hobbyist ~ age_cat, success = "Yes")
Response: hobbyist (factor)
Explanatory: age_cat (factor)
# A tibble: 1,231 x 2
hobbyist age_cat
<fct> <fct>
1 Yes At least 30
2 Yes At least 30
3 Yes At least 30
4 Yes Under 30
5 Yes At least 30
6 Yes At least 30
7 No Under 30
# ... with 1,224 more rows
hypothesize()는 귀무가설의 유형을 선언합니다.
"independence" 또는 "point" 사용."point" 사용.stack_overflow_imbalanced %>%
specify(hobbyist ~ age_cat, success = "Yes") %>%
hypothesize(null = "independence")
Response: hobbyist (factor)
Explanatory: age_cat (factor)
Null Hypothesis: independence
# A tibble: 1,231 x 2
hobbyist age_cat
<fct> <fct>
1 Yes At least 30
2 Yes At least 30
3 Yes At least 30
4 Yes Under 30
5 Yes At least 30
6 Yes At least 30
7 No Under 30
# ... with 1,224 more rows
R로 하는 가설 검정