1.MASS 패키지의 anorexia 데이터를 사용합니다.데이터의 특징을 알아봅니다.

knitr::opts_chunk$set(echo = TRUE)
options(repos = c(CRAN = "https://cloud.r-project.org"))
install.packages("MASS")
## 
## The downloaded binary packages are in
##  /var/folders/lj/0v7ttc9x1ds4s5myk2ngjj0m0000gn/T//Rtmp5f6T1c/downloaded_packages
library(MASS)
data("anorexia")
str(anorexia)
## 'data.frame':    72 obs. of  3 variables:
##  $ Treat : Factor w/ 3 levels "CBT","Cont","FT": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Prewt : num  80.7 89.4 91.8 74 78.1 88.3 87.3 75.1 80.6 78.4 ...
##  $ Postwt: num  80.2 80.1 86.4 86.3 76.1 78.1 75.1 86.7 73.5 84.6 ...
head(anorexia)
##   Treat Prewt Postwt
## 1  Cont  80.7   80.2
## 2  Cont  89.4   80.1
## 3  Cont  91.8   86.4
## 4  Cont  74.0   86.3
## 5  Cont  78.1   76.1
## 6  Cont  88.3   78.1
summary(anorexia)
##   Treat        Prewt           Postwt      
##  CBT :29   Min.   :70.00   Min.   : 71.30  
##  Cont:26   1st Qu.:79.60   1st Qu.: 79.33  
##  FT  :17   Median :82.30   Median : 84.05  
##            Mean   :82.41   Mean   : 85.17  
##            3rd Qu.:86.00   3rd Qu.: 91.55  
##            Max.   :94.90   Max.   :103.60

2.데이터의 형태를 변경하고, FT (family treatment) 케이스만 선택합니다.

knitr::opts_chunk$set(echo = TRUE)
ft_data<-subset(anorexia,Treat=="FT")

##3.Treatment 전과 후의 weight 변화에 대한 히스토그램을 작성합니다.

knitr::opts_chunk$set(echo = TRUE)
# 체중 변화량 변수 추가
ft_data$weight_change <- ft_data$Postwt - ft_data$Prewt

# 히스토그램 작성
hist(ft_data$Prewt, main = "Before Treatment Weight distribution (FT)", col = "skyblue", xlab = "weight")

hist(ft_data$Postwt, main = "After Treatment Weight distribution (FT)", col = "lightgreen", xlab = "weight")

hist(ft_data$weight_change, main = "weight change distribution (Post - Pre)", col = "salmon", xlab = "change")

##4.Treatment 전과 후의 weight 에 대한 정규성 검정을 수행합니다.

knitr::opts_chunk$set(echo = TRUE)
shapiro.test(ft_data$Prewt)
## 
##  Shapiro-Wilk normality test
## 
## data:  ft_data$Prewt
## W = 0.98821, p-value = 0.9972
shapiro.test(ft_data$Postwt)
## 
##  Shapiro-Wilk normality test
## 
## data:  ft_data$Postwt
## W = 0.83928, p-value = 0.007391
shapiro.test(ft_data$weight_change)
## 
##  Shapiro-Wilk normality test
## 
## data:  ft_data$weight_change
## W = 0.95358, p-value = 0.5156
#weight_change 의 정규성 검정에서 p=0.5156으로 0.05보다 크므로 paired t-test를 사용할 수 있다.

##5.정규성 검정결과와 데이터 특성에 따라서 두 집단 평균 비교에 대한 적절한 통계적 방법을 선택하고 그 이유를 설명하시오.

knitr::opts_chunk$set(echo = TRUE)
#paired t-test: 동일한 대상의 치료 전과 후 체중을 비교하기 때문에(종속표본), 그리고 정규성 검정 결과가 0.05보다 크기 때문에 정규성을 만족하므로 t-test 사용.

##6. 두 집단의 평균 비교에 대한 가설 검정을 5% 유의수준으로 진행하세요.

knitr::opts_chunk$set(echo = TRUE)
#H0(귀무가설):치료전과 후의 평균 체중 차이가 없다.(μ_d = 0) H1(대립가설):치료전과 후의 평균 체중 자이가 있다.(μ_d ≠ 0)
t.test(ft_data$Postwt, ft_data$Prewt, paired = TRUE)
## 
##  Paired t-test
## 
## data:  ft_data$Postwt and ft_data$Prewt
## t = 4.1849, df = 16, p-value = 0.0007003
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
##   3.58470 10.94471
## sample estimates:
## mean difference 
##        7.264706
#p-value가 0.0007003으로 0.05보다 작기 때문에 귀무가설을 기각한다. 따라서 치료 전후 체중의 차이가 유의하다.