과제 1

식물의 성장 데이터를 포함하고 있는 R 내장 데이터 PlantGrowth를 불러옵니다.

#PlantGrowth 데이터 불러오기
head(df)
##   weight group
## 1   4.17  ctrl
## 2   5.58  ctrl
## 3   5.18  ctrl
## 4   6.11  ctrl
## 5   4.50  ctrl
## 6   4.61  ctrl

비교 1: 그룹 ctrl과 trt1 간의 식물 성장률 (weight)의 평균차이가 존재하는지를 유의수준 5%로 검정하시오.

정규성 검정 (Shapiro-Wilk test)

shapiro.test(ctrl_trt1$weight)
## 
##  Shapiro-Wilk normality test
## 
## data:  ctrl_trt1$weight
## W = 0.97311, p-value = 0.8187

p-value가 0.8187로 충분히 높으므로, 귀무가설을 기각할 수 없다. 따라서 데이터가 정규분포를 따른다고 가정할 수 있으며, 모수적 방법을 이용하여 분석할 수 있다.

ctrl과 trt1 그룹이 서로 독립적인 식물 개체들이므로 독립표본 t-검정 이용

등분산 검정 (Levene’s test)

levene_test(ctrl_trt1, weight ~ group)
## # A tibble: 1 × 4
##     df1   df2 statistic     p
##   <int> <int>     <dbl> <dbl>
## 1     1    18     0.620 0.441

p-value가 0.4412로 0.05보다 높으므로, 귀무가설을 기각할 수 없다. 따라서 데이터가 정규분포를 따른다고 가정할 수 있으며, 모수적 방법인 Student t-test를 사용할 수 있다.

Student t-test

res <- t.test(weight ~ group, data = ctrl_trt1, var.equal = TRUE)
if(res$p.value < 0.05) {
  cat("유의수준 5%에서 그룹 ctrl과 trt1의 평균 차이가 통계적으로 유의합니다.")
} else {
  cat("유의수준 5%에서 그룹 ctrl과 trt1의 평균 차이가 통계적으로 유의하지 않습니다.")
}
## 유의수준 5%에서 그룹 ctrl과 trt1의 평균 차이가 통계적으로 유의하지 않습니다.

비교 2: 그룹 ctrl과 trt2 간의 식물 성장률 (weight)의 평균차이가 존재하는지를 유의수준 5%로 검정하시오.

정규성 검정 (Shapiro-Wilk test)

shapiro.test(ctrl_trt2$weight)
## 
##  Shapiro-Wilk normality test
## 
## data:  ctrl_trt2$weight
## W = 0.96966, p-value = 0.7478

p-value가 0.7478로 충분히 높으므로, 귀무가설을 기각할 수 없다. 따라서 데이터가 정규분포를 따른다고 가정할 수 있으며, 모수적 방법을 이용하여 분석할 수 있다.

ctrl과 trt2 그룹이 서로 독립적인 식물 개체들이므로 독립표본 t-검정 이용

등분산 검정 (Levene’s test)

levene_test(ctrl_trt2, weight ~ group)
## # A tibble: 1 × 4
##     df1   df2 statistic     p
##   <int> <int>     <dbl> <dbl>
## 1     1    18     0.528 0.477

p-value가 0.4767로 0.05보다 높으므로, 귀무가설을 기각할 수 없다. 따라서 데이터가 정규분포를 따른다고 가정할 수 있으며, 모수적 방법인 Student t-test를 사용할 수 있다.

Student t-test

res <- t.test(weight ~ group, data = ctrl_trt2, var.equal = TRUE)
if(res$p.value < 0.05) {
  cat("유의수준 5%에서 그룹 ctrl과 trt1의 평균 차이가 통계적으로 유의합니다.")
} else {
  cat("유의수준 5%에서 그룹 ctrl과 trt1의 평균 차이가 통계적으로 유의하지 않습니다.")
}
## 유의수준 5%에서 그룹 ctrl과 trt1의 평균 차이가 통계적으로 유의합니다.

과제 2

데이터 확인 및 구조 분석

str(sleep)
## 'data.frame':    20 obs. of  3 variables:
##  $ extra: num  0.7 -1.6 -0.2 -1.2 -0.1 3.4 3.7 0.8 0 2 ...
##  $ group: Factor w/ 2 levels "1","2": 1 1 1 1 1 1 1 1 1 1 ...
##  $ ID   : Factor w/ 10 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
head(sleep)
##   extra group ID
## 1   0.7     1  1
## 2  -1.6     1  2
## 3  -0.2     1  3
## 4  -1.2     1  4
## 5  -0.1     1  5
## 6   3.4     1  6

R의 내장 데이터셋 sleep은 두 가지 수면제(A와 B)의 효과를 비교하기 위한 실험 데이터입니다.

Column Name Description
extra 수면시간의 변화 (수면제 투약 후 - 투약 전).
group 수면제 종류 (1 = A, 2 = B).
ID 시험자 ID (총 10명, 각 시험자는 두 조건에서 측정됨)

수면제 A와 B의 효과를 유의수준 5%로 검정하시오.

정규성 검정 (Shapiro-Wilk test)

shapiro.test(group_A)
## 
##  Shapiro-Wilk normality test
## 
## data:  group_A
## W = 0.92581, p-value = 0.4079
shapiro.test(group_B)
## 
##  Shapiro-Wilk normality test
## 
## data:  group_B
## W = 0.9193, p-value = 0.3511

p-value가 0.4079와 0.3511로 충분히 높으므로, 귀무가설을 기각할 수 없다. 따라서 데이터가 정규분포를 따른다고 가정할 수 있으며, 모수적 방법을 이용하여 분석할 수 있다.

수면제 A와 B의 효과 비교가 동일한 시험자를 대상으로 이루어졌기 때문에 대응표본 t-검정을 이용

t_test_result <- t.test(group_A, group_B, paired = TRUE, alternative = "two.sided")
if (t_test_result$p.value < 0.05) {
  cat("수면제 A와 B의 효과 차이가 통계적으로 유의합니다. (p-value:", t_test_result$p.value, ")")
} else {
  cat("수면제 A와 B의 효과 차이가 통계적으로 유의하지 않습니다. (p-value:", t_test_result$p.value, ")")
}
## 수면제 A와 B의 효과 차이가 통계적으로 유의합니다. (p-value: 0.00283289 )