본문 바로가기

R

[R] 다변량 자료 분석 (2) : Hotelling T^2 검정

저번 포스팅에서 전처리를 했던 airquality 데이터로 통계 분석을 하겠습니다.

 

1. 기본 데이터 세팅

airquality = na.omit(airquality)
airquality$season = ifelse(airquality$Month == 5 | airquality$Month == 9,
                           "non-summer", "summer")
head(airquality)

 


2. Ozone, Solar.R, wind, Temp 네 개의 개별 변수의 평균이 계절에 따라 유의미한 차이가 있는가? 

 

(1) Ozone

with(data = airquality, t.test(Ozone[season == "summer"],
                                    Ozone[season == "non-summer"], var.equal = T))

p-값 = 1.155e-05 < 0.05 이므로 계절에 따라 유의미한 차이가 있다고 볼 수 있다. 

 

 

(2) Solar.R

with(data = airquality, t.test(Solar.R[season == "summer"],
                                    Solar.R[season == "non-summer"], var.equal = T))

p-값 = 0.2556 > 0.05 이므로 계절에 따라 유의미한 차이가 있다고 볼 수 없다.

 

 

(3) Wind

with(data = airquality, t.test(Wind[season == "summer"],
                                    Wind[season == "non-summer"], var.equal = T))

p-값 = 0.02597 < 0.05 이므로 계절에 따라 유의미한 차이가 있다고 볼 수 있다.

 

 

(4) Temp

with(data = airquality, t.test(Temp[season == "summer"],
                                    Temp[season == "non-summer"], var.equal = T))

p-값 = 9.065e-11 < 0.05 이므로 계절에 따라 유의미한 차이가 있다고 볼 수 있다.


* 두 그룹의 모분산이 동일하다는 가정 하에 각 변수들의 통계량

  summer non-summer  
변수 표본평균1 표본분산1 표본평균2 표본분산2 t(109) p-값
Ozone 54.86207 1279.735 28.13208 559.0399 4.598 1.16E-05
Solar.R 194.2414 6946.572 174.4717 9753.523 1.1429 0.2556
Wind 9.224138 12.09695 10.722642 12.31909 -2.2574 0.02597
Temp 82.93103 40.62674 72.16981 85.91292 7.1787 9.07E-11

 

3. Ozone, Solar.R, wind, Temp 네개 모든 변수를 한꺼번에 고려하여 평균이 계절에 따라 유의하게 차이가 있는가? 

 

library(Hotelling)  

t2testair = hotelling.test(Ozone + Solar.R + Wind + Temp ~ season, 
                              data = airquality)
t2testair

 

◎ 해석

t^2 통계량 : 55.137
분자 자유도 : 4
문모모자유도 : 106
p-값 : 7.111e-09

 

Hotelling T제곱 Test 결과 p-value가 약 0.000000007111으로 0.05보다 작으므로 변수들의 평균이 계절에 따라 유의미한 차이가 있다고 볼 수 있습니다.