one sample t-test와 구분 주의!


K제약회사의 신제품 개발부서에서는 3개월 안에 살이 빠지는 다이어트 약을 개발하였다. 회사 경영진에게 새롭게 개발한 다이어트약이 효과가 있는지를 보고하기 위하여 약의 효능을 검증하였다. 약을 먹기 전의 체중과 약을 먹은 후 3개월 후의 체중을 조사하였다.

과연 새로운 약은 다이어트에 효과가 있는가 ?


귀무가설 (𝐻_0): 다이어트약을 먹기 전과 후의 체중은 변화가 없다.

연구가설 (𝐻_1): 다이어트약을 먹기 전과 후의 체중은 변화가 있다.


1.데이터 불러오기

pst<-read.csv("C:/Users/wun99/Desktop/Summer Study/R통계분석-심흥섭/RStat/Ch07.평균차이검정(t-test)/data/03.PST.csv",
              header=TRUE,
              na.strings=".")
pst<-round(pst,2) #소수점 2자리로 반올림
str(pst)
## 'data.frame':    20 obs. of  3 variables:
##  $ ID  : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ pre : num  82 54 74 75 71 76 70 62 77 75 ...
##  $ post: num  75 50 74 71 69 73 68 62 68 72 ...

대응표본 t검정은 한 집단 내에서의 시점 또는 효과에 따른 평균 차이 검정을 하는 것이므로 등분산 검정은 필요하지 않다.


2. 데이터 확인 및 dif 변수 만들기

attach(pst)
library(psych)
describe(pst)
##      vars  n  mean   sd median trimmed  mad min max range  skew kurtosis
## ID      1 20 10.50 5.92   10.5   10.50 7.41   1  20    19  0.00    -1.38
## pre     2 20 73.15 6.43   75.0   73.88 3.71  54  83    29 -1.26     1.88
## post    3 20 70.60 6.10   71.5   71.62 3.71  50  77    27 -1.88     3.90
##        se
## ID   1.32
## pre  1.44
## post 1.36
dif<-c(post-pre)
describe(dif)
##    vars  n  mean   sd median trimmed  mad min max range  skew kurtosis  se
## X1    1 20 -2.55 3.14   -2.5    -2.5 2.97  -9   3    12 -0.21    -0.76 0.7

3. 그래프그리기

opar<-par(no.readonly = TRUE)
layout(matrix(c(1,2,3,3),2,2,byrow=TRUE))
hist(pre,main = "사전몸무게")
hist(post,main = "사후몸무게")
boxplot(dif,main="몸무게차이")

par(opar)

4. 통계분석

t.test(post,pre,
       alternative = c("two.sided"),
       paired = TRUE,
       conf.level = 0.95)
## 
##  Paired t-test
## 
## data:  post and pre
## t = -3.6355, df = 19, p-value = 0.00176
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -4.018065 -1.081935
## sample estimates:
## mean of the differences 
##                   -2.55
detach(pst)

5.통계결과 그래프

mu=0 #사전체중-사후체중의 값
se=0.7 #표본이므로 sd 대신에 se 사용
data<-rnorm(1000,mu,se)
data<-sort(data)
plot(data,dnorm(data,mu,se),type="l",
     main="몸무게 차이 검정",
     xlim=c(-3,3))
abline(v=mu,col="green",lty=5)
abline(v=mu+1.96*se,col="blue",lty=5)
abline(v=mu-1.96*se,col="blue",lty=5)
abline(v=-2.55,col="red",lty=5)

결론: dif의 평균(-2.55)가 신뢰구간 밖에 있으므로 다이어트 효과가 있음을 알 수 있음.