- 통계적 가설의 제시
- dplyr 패키지 등을 이용해서 기초통계량 정리
- 수업시간에 다룬 가설검정 기법과 기초통계량을 이용해서 가설 검정
- R의 built-in 함수를 사용해서 가설 검정
- 가설검정 내용의 결론을 뒷받침할 수 있는 그래프 제작
color가 D인 경우와 E인 경우에 가격의 모평균에 유의미한 차이가 있다.color : diamond colour, from D (best) to J (worst)
price : price in US dollars ($32–_$18,823)
diamonds %>% select(color, price) # %>% datatable()
## # A tibble: 53,940 × 2 ## color price ## <ord> <int> ## 1 E 326 ## 2 E 326 ## 3 E 327 ## 4 I 334 ## 5 J 335 ## 6 J 336 ## 7 I 336 ## 8 H 337 ## 9 E 337 ## 10 H 338 ## # … with 53,930 more rows
tbl <- diamonds %>% filter(color %in% c("D", "E")) %>%
select(color, price) %>% group_by(color) %>%
summarise(n = n(), sample_mean = mean(price), sample_sd = sd(price))
tbl %>% datatable()
\(H_0\) : mu = \(mu_0\)
\(H_1\) : mu ≠ \(mu_1\)
n_D <- 6775 n_E <- 9797 D_bar <- 3169.95 D_square <- 3356.59 ^2 E_bar <- 3076.75 E_square <- 3344.16 ^2 T <- (D_bar - E_bar) / sqrt(D_square/n_D + E_square/n_E) T
## [1] 1.759903
n_D <- 6775
n_E <- 9797
D_bar <- 3169.95
D_square <- 3356.59 ^2
E_bar <- 3076.75
E_square <- 3344.16 ^2
df <- ((D_square/n_D + E_square/n_E)^2) / (((D_square/n_D)^2/(n_D-1)) +
((E_square/n_E)^2/(n_E-1)))
df
## [1] 14530.94
90% CI 기각역 : T = 1.760 > t(0.05,14530) = 1.645 (O)
95% CI 기각역 : T = 1.760 < t(0.025,14530) = 1.960 (X)
99% CI 기각역 : T = 1.760 < t(0.005,14530) = 2.576 (X)
90%의 신뢰수준에서 두 집단(color가 D와 E) 간 가격의 차이가 있다고 할 수 있으나, 95%와 99%의 신뢰수준에서는 두 집단 간 가격이 차이가 있다고 할 수 없다.
price_diff <- diamonds %>% filter(color %in% c("D", "E")) %>%
select(color, price)
table(price_diff$color)
## ## D E F G H I J ## 6775 9797 0 0 0 0 0
price_diff <- diamonds %>% filter(color %in% c("D", "E")) %>%
select(color, price)
t.test(data = price_diff, price ~ color, var.equal = T)
## ## Two Sample t-test ## ## data: price by color ## t = 1.7611, df = 16570, p-value = 0.07824 ## alternative hypothesis: true difference in means between group D and group E is not equal to 0 ## 95 percent confidence interval: ## -10.53049 196.93373 ## sample estimates: ## mean in group D mean in group E ## 3169.954 3076.752
유의확률(p-value) = 0.078로 0.05보다 크므로 95% CI에서 유의하지 않음
tbl2 <- diamonds %>% filter(color %in% c("D", "E")) %>%
select(color, price)
ggplot(tbl2, aes(x=color, y=price)) +
geom_violin() + geom_jitter(alpha=0.01, width = 0.5) +
theme_minimal()