데이터 분석 및 실습 (분석하는 과정)
1. setwd()로 경로 설정
2. 파일 불러오기
spss파일
install.packages('foreign')
library(foreign)
data = read.spss('.sav', to.data.frame=T, reencode='utf-8')
3. 필요한 변수 가져오기 (ex) age, sex, BP16_1 등
4. 변수명 변경
install.packages('dplyr')
library(dplyr)
data = rename(data, sleep = 'BP16_1', 새로운 변수이름='기존 변수이름')
5. 추가/변경 해야할 변수 있으면 추가/변경
data$plus = case_when(조건1 ~ 값1, 조건2 ~ 값2, ... , .default=기본결과)
6. 필요한 행들만 추출
data2 = data[age>=30 & age<=60 ,]
7. 결측치 제거
summary(data2)를 통해 결측치 유무 확인
data3 = data2[!is.na(data2$age), ]
data3 = na.omit(data2)
CrossTable을 이용하여 성별에 따른 직업유무를 보여줌
install.packages('gmodels')
library(gmodels)
CrossTable(data3$sex, data3$job)
8. 비교할 그룹이 2개인지 3개 이상인지 유무 판단
-2개일 경우 T검정
-3개이상일 경우 aov검정
9. T검정
shapiro.test(data3$영향을 받는 변수) // 영향을 받는 변수는 그룹이 아닌 변수!!
p-value>0.05 임으로 데이터는 정규분포한다는 것을 의미한다.
p-value<0.05 임으로 데이터는 정규분포 하지 않는다는 것을 의미한다.
var.test(영향을 받는 변수~영향을 주는 변수, data=data3, conf.level=0.95)
p-value>0.05임으로 귀무가설을 채택해 두 집단간의 분산이 같다는 것을 확인할 수 있다.
p-value<0.05임으로 귀무가설을 기각하고 대립가설을 채택해 두 집단간의 분산이 다르다는 것을 확인할 수 있다.
t.test(영향을 받는 변수~영향을 주는 변수, data=data3, conf.level=0.95, var.equals=T/F)
var.test의 p-value>0.05일 경우 var.equals는 T
p-value<0.05일 경우 var.equals=F
t.test의 p-value>0.05일 경우 귀무가설을 기각하지 못하고 채택한다.
(경제활동의 여부에 의한 수면시간의 평균은 동일하다.)
t.test의 p-value<0.05일 경우 귀무가설을 기각하고 대립가설을 채택한다.
(경제활동의 여부에 의한 수면시간의 평균은 차이가 있다.)
테이블로 표현
경제활동ㅇ 경제활동x
n 00 명 00 명
mean+-sd t-검정을 통해 t-검정을 통해
(수면시간) 나온값 나온값
데이터 분석 결과를 작성하는 법
# selection of variables
d=data[ , c('age', 'sex', 'EC1_1', 'BP16_1', 'BP1', 'HE_BMI')]
# number of sample size by sex
==================================
d3$job
d3$sex 1 2 Total
----------------------------------
1 884 84 968
34.536 103.431
0.913 0.087 0.415
0.505 0.144
0.379 0.036
----------------------------------
2 865 500 1365
24.492 73.349
0.634 0.366 0.585
0.495 0.856
0.371 0.214
----------------------------------
Total 1749 584 2333
0.75 0.25
==================================
# output of male
Welch Two Sample t-test
data: sleep by job
t = -2.9426, df = 94.356, p-value = 0.004095
alternative hypothesis: true difference in means between group 1 and group 2 is not equal to 0
95 percent confidence interval:
-0.7229640 -0.1404275
sample estimates:
mean in group 1 mean in group 2
6.627828 7.059524
# output of female
Welch Two Sample t-test
data: sleep by job
t = -2.2318, df = 937.97, p-value = 0.02586
alternative hypothesis: true difference in means between group 1 and group 2 is not equal to 0
95 percent confidence interval:
-0.2845063 -0.0182683
sample estimates:
mean in group 1 mean in group 2
6.678613 6.830000
# 데이터 분석 결과의 함의
남성과 여성 모두 경제활동을 하지 않는 경우 통계적으로 유의하게 수면시간의 평균이 더 길었습니다.
여성보다는 남성에서 경제활동 유무에 따른 수면 시간의 차이가 더 컸습니다.