-
R 교차분석(crosstable) p-value 추출 설문지 데이터R + Statsitic (통계학) 2020. 5. 12. 22:13
교차분석은 검증하고자 하는 변수가 모두 범주형자료(categorical data) 일 때, 두 변수 간 연관성을 판단하는 분석입니다
설문지 데이터를 분석하는데 있어 가장 널리 쓰이며, 유의한 변수를 가려낼 때 가장 먼저 배우는 분석 기법이 아닐까 싶습니다
교차분석의 정의와 원리는 다른 자료가 많기에 굳이 설명드리지 않겠습니다
다만, 설문지 데이터를 다루게 되면 교차분석 굉장히 많이 해야하는 경우가 발생합니다
설문지의 질문이 많아질 경우 관심있는 변수(종속변수)에 영향을 주는 변수(독립변수)를 하나하나 가려내야하는 경우가 발생합니다
이럴 경우 SPSS나 엑셀로 하나씩 P-value를 확인하려면 시간이 어마어마하게 걸립니다
이를 대처하는 R코드를 소개하겠습니다
사회과학을 공부하시거나 설문지 데이터를 다루는 분들은
약소하게나마 도움이 되지 않을까 합니다
필요한 라이브러리는 다음과 같습니다
library(gmodels)
## 데이터 불러오기
rawdata <- read.csv("D:/rawdata.csv", header = TRUE) ## 데이터 차원확인하기
데이터의 행과 열의 길이를 확인합니다
rawdata_dim <- rawdata %>% dim() 행 : 4246 / 열 : 946 , 즉 설문문항(독립변수로 쓰일수 있는)이 946개입니다
우리는 for문으로 한꺼번에 뽑아냅시다
## 빈 벡터 공간 만들기
pvalue.c <- c() # p-value를 담는 벡터입니다 ## for문으로 반복작업하기
for(i in 1:rawdata_dim[2]){
tryCatch({
table.df<- CrossTable(rawdata[,i], rawdata$종속변수, expected=TRUE, chisq=TRUE)
# rawdata[,i] 는 rawdata의 i번째 변수입니다
pvalue.c[i] <- table.df$chisq$p.value}, error = function(e) print = "error")
}※ table.df$chisq를 실행하면 Pearson's Chi-squared test 결과를 볼 수있으며,
table.df$chisq$p.value를 실행하면 p-value만 추출할 수 있습니다
## 결과확인하기
pvalue.c %>% View() 결과를 해석하겠습니다
종속변수와 1번째 독립변수 간의 교차분석 p-value는 1번째 행입니다
즉, n번째 행은 종속변수와 n번째 독립변수 P-value입니다
이를 바탕으로 교차분석의 유의성을 판단하시면 되겠습니다
'R + Statsitic (통계학)' 카테고리의 다른 글