#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
정규성 검정 (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의 평균 차이가 통계적으로 유의하지 않습니다.
정규성 검정 (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의 평균 차이가 통계적으로 유의합니다.
데이터 확인 및 구조 분석
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명, 각 시험자는 두 조건에서 측정됨) |
정규성 검정 (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 )