[R] 국민건강영양조사 분석 Start

BioinformaticsAndMe






국민건강영양조사


: 음주, 영양, 만성질환 등 500여 개 보건지표를 산출하는 국가 건강통계조사로 1998년에 도입하여 매년 1만여 명을 대상으로 실시

: 국민건강영양조사 18년도 원시자료 (v. 2020-09-01)

참여대상(row):  7,992명

변수(column): 785개

: 아래 홈페이지에서 기본DB의 SAS 다운로드

https://knhanes.cdc.go.kr/knhanes/sub03/sub03_02_02.do




1. Data loading


# 국민건강영양조사 18년도 원시자료 (v. 2020-09-01) 로딩

install.packages('data.table') ; install.packages('sas7bdat')

library(data.table) library(sas7bdat)

sasr <- read.sas7bdat("./sas_class/hn18_all.sas7bdat") data_sasr <- data.table(sasr)

dim(data_sasr)

[1] 7992 785




2. Data overview


# Gender (Pie chart)

mytable <- table(data_sasr$sex) names(mytable) <- c('Man', 'Woman') lbls <- paste(names(mytable), " : ", mytable, sep="") pie(mytable, labels = lbls, col=c("#56B4E9", "#E69F00"), main="Pie Chart of Gender\n (with sample sizes)")

# Age (Histogram)

hist(data_sasr$age, freq=T, col="gray", xlab="Age")




3. Data filtering


: 흡연량과 폐기능검사 사이의 간단한 분석을 위해 데이터 필터링

: 6개변수 selection

가. BS3_2 (하루평균 흡연량)

#888 : 비해당(문항3-③⑧) 

#999 : 모름, 무응답

나. HE_fev1fvc (1초간 노력성 호기량 / 노력성 폐활량)

다. sex (성별)

#1 : 남자

#2 : 여자

라. age (나이)

#1~79 : 1~79세

#80 : 80세이상

마. HE_BMI (체질량지수)

바. HE_COPD (폐기능 판정결과)

#1 : 폐기능정상

#2 : 제한성환기장애

#3 : 폐쇄성환기장애

#9 : 판정불능

# Data filtering

New_data_sasr <- data_sasr[, c('BS3_2','HE_fev1fvc', 'sex', 'age', 'HE_BMI', 'HE_COPD')] Parsed_data_sasr <- New_data_sasr[ BS3_2 != 999 & BS3_2 != 888 & is.na(HE_fev1fvc) != T,] dim(Parsed_data_sasr)

[1] 644 6

#지표설명

FVC (Forced Vital Capacity; 노력성 폐활량)

-최대로 숨을 들이쉰 다음, 최대 노력으로 끝까지 내쉬었을 때 공기량


FEV1 (Forced Expiratory Volume in One second; 1초간 노력성 호기량)

-첫 1초간 얼마나 빨리 숨을 내쉴 수 있는지 보는 지표


FEV1/FVC  ratio

-기관지폐쇄 유무를 확인하는 지표

-0.7 이하인 경우 숨을 내쉬는데 장애, 즉 기도폐쇄가 있음을 의미




4. Correlation test


# Correlation test (Raw data)

cor.test(Parsed_data_sasr$BS3_2, Parsed_data_sasr$HE_fev1fvc, method='pearson')

Pearson's product-moment correlation data: Parsed_data_sasr$BS3_2 and Parsed_data_sasr$HE_fev1fvc t = -2.8655, df = 642, p-value = 0.004299 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: -0.18800432 -0.03542489 sample estimates: cor -0.112377




5. 계층화 추출법 후, correlation test


# Plotting

Temp_bin_frame <- Parsed_data_sasr[,Bin_group:= cut(BS3_2, c(-Inf, 5, 10, 15, 20, 25, 30, Inf), paste0(1:7))] boxplot(Temp_bin_frame$HE_fev1fvc ~ Temp_bin_frame$Bin_group, outline=F, las=1, xlab='', ylab='')#, varwidth=T ) Bin_frame <- aggregate(Temp_bin_frame, by=list(Temp_bin_frame$Bin_group), mean) plot(Bin_frame$BS3_2, Bin_frame$HE_fev1fvc, pch=19, las=1, xlab='', ylab='')

# Correlation test (After filtering)

cor.test(Bin_frame$BS3_2, Bin_frame$HE_fev1fvc, method='pearson')

Pearson's product-moment correlation data: Bin_frame$BS3_2 and Bin_frame$HE_fev1fvc t = -3.3085, df = 5, p-value = 0.02127 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: -0.9739242 -0.2006617 sample estimates: cor -0.8285219





#Reference

1) https://www.khidi.or.kr/nutristat

2) https://github.com/seung-00/classification_obesity_risk_groups

3) https://m.blog.naver.com/PostView.nhn?blogId=i-doctor&logNo=220605517140&proxyReferer=https:%2F%2Fwww.google.com%2F

4) https://rsas.tistory.com/250





[R] 국민건강영양조사 분석 End

BioinformaticsAndMe



'R' 카테고리의 다른 글

[R] Neuroimaging Analysis  (0) 2021.02.01
[R] Function (사용자 정의 함수)  (0) 2020.02.03
[R] Logistic regression (로지스틱 회귀분석)  (0) 2020.01.21
[R] Multiple linear regression (다중회귀분석)  (1) 2020.01.14
[R] ChIP-seq 분석  (1) 2020.01.05

+ Recent posts