현업에 종사하고 있으면 최근 빅데이터 분석에 대한 관심이 높아지면서 설문조사의 필요성이 감소하고 있다는 느낌을 받게 됩니다. 그러나 빅데이터 분석이 기존의 설문조사를 완전히 대체할 것이라고는 생각하기는 어렵습니다. 왜냐하면 일반적으로 기업이 직면하는 데이터는 사실 ‘빅’하지 않기 때문입니다. 데이터의 용량 측면에서도 기존 기기의 처리 능력을 뛰어넘는 데이터의 축적이란 사실 일반적인 조직에서 쉽지 않을 것이라고 생각하고 다양한 사례의 축적을 통한 기계학습의 기회 역시 많지 않을 것으로 보입니다.

분명히 현재의 기술적인 변화는 기존의 관성을 뛰어넘는 것이지만 또한 현재까지 축적한 지식의 자장 내에 있는 것도 사실입니다. 고대의 거인 위에 올라선 중세라는 소인이 르네상스를 조망했듯 우리에게는 지금까지의 지식이라는 성과 위에 기술발전이라는 작지만 중요한 진보를 올려놓는 균형이 필요합니다.

인간이 언어로 소통하는 한 설문지를 이용한 조사는 여전히 효율적인 자료 수집 방법 중 하나로 남을 것입니다. 어떻게 하면 묻고자 하는 질문의 내용 외에 다른 요소에 응답자가 영향 받지 않도록 설문지를 잘 작성할 것인가라는 고민은 반대로 어떻게 정보의 수용자들을 선전·선동(?)할 것인가에 대한 나름대로의 시사점을 얻는 부수적인 효과가 있기도 합니다. 아마 광고에 관심 있는 분들은 한번쯤 들어 보셨을 오길비가 시장 조사원으로 일한 적이 있다는 사실은 어쩌면 우연이 아닐지도 모릅니다.

자료수집방법에 따라 구성과 분량에 다소 차이가 있지만 기본적으로 설문지는 다음과 같은 구조를 가지고 있는 것이 일반적입니다.

                   

또한, 설문지는 대체로 다음과 같은 과정을 거쳐 작성하게 됩니다.

 

                     

질문 내용을 결정할 때에는 이 질문이 꼭 필요한 것인지, 응답자가 질문의 답을 알고 있을 것인지, 응답자가 질문에 대한 답을 제공할 용의가 있는지를 검토해 보아야 합니다. 또한 질문의 내용이 의도하는 전체 내용을 중복 없이, 빠짐없이(MECE; Mutually Exclusive, Collectively Exhaustive)포함하고 있는지도 고민해야 합니다.

질문의 내용을 결정하는 것뿐만 아니라 질문의 형태를 결정하는 것 역시 중요합니다. 척도형이나 연속형 변수값을 얻을 수 있는 질문은 데이터 분석 단계에서 보다 깊이 있고 다양한 분석을 허용하지만 설문 작성 단계에서는 응답자의 피로도를 높일 가능성이 높기 때문에 타협점을 찾는 일이 대단히 어렵습니다. 다만 분명한 것은 과도한 척도형 문항을 하나의 설문조사에서 남발할 경우 자칫 조사 자체가 불가능해질 수 있습니다. 단 한 번의 조사로 모든 것을 해결하려는 만용을 부리기보다는 거듭되는 연구를 통해 개념을 정제해 나가는 노력에 천착해야 합니다.

설문지 작성의 대원칙은 “simple & straight-forward"입니다. 설문지는 다양한 사람이 보게 되므로 누가 보더라도 이해할 수 있도록 최대한 쉽게 작성해야 합니다. 그리고 가능한 쉽고 명확한 단어를 사용해 오해의 소지가 없어야 합니다. 예를 들어 ‘귀하께서는 가장 최근 유기농 두부를 어디에서 구입하셨습니까?’ 단수응답형 질문에 대해 ‘1)동네반찬가게 2) 대형 마트 3)SSM 4) 동네 마트 5)동네 슈퍼 6) 백화점 7)재래시장’이라는 보기를 제시하였다면 우선 무엇을 유기농 두부로 볼 것인지 정의해 주어야 하고, 동네 마트와 동네 슈퍼는 무엇으로 구분할지, SSM은 무엇을 의미하는지 설명해 주어야 합니다.

그리고 응답자가 생각할 수 있는 모든 내용을 선택항목에 포함해야 합니다. ‘귀댁 첫째 자녀는 학교에서 안전교육을 받은 적이 있습니까?’라는 질문의 보기를 ‘예/아니요’로만 제시하면 자칫 실제 안전교육 실시 횟수와는 전혀 다른 값이 나올 수도 있습니다. 만약 응답 학부모들이 교육 실시 여부를 잘 모르는 상태에서 응당 학교에서 실시했을 것이라는 가정 하에 편향된 응답을 하면 안전교육 경험비율은 실제 안전교육 실시 횟수를 훨씬 상회하게 될 것입니다.

응답 항목들 간에는 내용이 중복되면 안 되고, 서로 명확하게 구분할 수 있어야 합니다. 월평균 가구소득을 묻는 질문의 보기로 ‘1)100만 원 이하 2)100만 원대....’ 라고 제시하면 응답자가 혼란을 느낄 수밖에 없습니다. ‘1)99만 원 이하 2)100만원~199만원 미만’과 같이 명확하게 구분해 주어야 합니다. 국내 시장조사에서는 결혼 여부에 대해 ‘미혼/기혼’만을 보기로 제시하는 것이 아직은 일반적이지만 해외 조사의 경우에는 단순히 ‘미혼/기혼’으로만 구분하지 않고 이혼여부, 동거여부 등 다양한 결혼형태를 보기로 제시하기도 합니다.

하나의 질문으로는 한 가지 내용만 질문해야 합니다. ‘들러보고 싶은 여행지와 여행 테마를 알려주세요.’라는 질문은 여행지를 적으라는 것인지 여행 테마를 적으라는 것인지 아니면 둘 다 적으라는 것인지 응답자에게 혼선을 야기할 뿐만 아니라 설문조사 완료 이후 데이터 분석을 곤란하게 하고 데이터에 대한 해석이 모호해지는 문제를 야기합니다.

응답자의 몸무게나 성적 취향 등 사적인 정보나 사회적으로 민감한 주제 등 대답하기 곤란한 질문은 가급적 자제해야 하고 원하는 대답을 유도하는 질문도 금지입니다. 예를 들어 ‘제사는 조상을 생각하는 미풍양속입니다. 귀하는 제사를 지내는 것에 찬성하십니까?’라는 질문은 제사를 반대할 경우 조상을 전혀 생각하지 않는 나쁜 사람일 수 있다는 응답자 본인에 대한 가치판단이 포함되어 있습니다. 실제 제사에 대한 찬성 여부에 상관없이 찬성비율이 높아질 가능성이 있습니다.

응답자에게 지나치게 자세한 응답을 요구하는 질문도 금물입니다. 예를 들어 ‘지난 일년간 영화를 보기 위해 극장에 몇 번이나 가셨습니까? 정확하게 말씀해 주십시오. ( )번’ 라는 질문은 사실상 응답자가 기억해서 답변할 수 없기 때문에 마음대로 답변하거나 익숙한 숫자로 답변할 가능성이 높습니다.

임의의 가정을 전제로 한 질문 역시 금지입니다. ‘아이들이 분주하게 쫓기는 시간을 보낸다면 그 이유는 무엇 때문인가요?”라는 질문은 암묵적으로 모든 아이들이 시간에 쫓기는 생활을 하고 있다고 가정하고 있어 실제로는 시간에 쫓기지 않는 경우를 과소 반영하는 문제가 있습니다.

궁금하신 점이 있으면 아래 버튼을 클릭해 주세요. 성실하게 답변 드리겠습니다!

                               

 

'야행하는 리서치' 카테고리의 다른 글

34. 통계적 추정의 기본원리①  (0) 2017.07.26
33. 설문지의 순서배열  (0) 2017.07.20
31. 표본크기의 결정  (0) 2017.05.11
30. 표본오차의 이해  (0) 2017.05.08
29. 표본분포와 중심극한정리  (0) 2017.05.03
Posted by dooka
,

지난 시간에 R을 이용해 조사결과 테이블을 만드는 법에 대해 알아보았습니다. 그런데 결과에서 전체 연령별 응답값이 전체 데이터에서 차지하는 비중이 아니라 연령 내에서 차지하는 비중을 제시하지 못하는 아쉬움이 있습니다. 또한 테이블을 만드는 절차를 반복하지 않고 좀 더 간편한 방법이 없는지도 궁금합니다.

 

3. 테이블! R로 만들기

 

 

이번 포스팅에서는 관심 있는 부차집단의 응답값이 부차집단 내에서 차지하는 비중을 기준으로 테이블을 구성하는 방법을 알아 보고 R에서 function 함수를 이용해 테이블 생성작업을 좀 더 간편하게 실행하는 방법에 대해 알아 보겠습니다.  

 

지난 포스팅에서 사용했던 고객 만족도 조사 결과 데이터를 이용해 R에서 테이블을 만들어 보겠습니다. q1_1은 직원의 친절성, q1_2은 직원의 전문성, q1_3은 매장의 청결성, q1_4는 제품의 다양성, q1_5는 제품의 품질을 묻는 질문의 답변이고 q2는 전반적인 만족도의 응답 결과입니다. Head(raw_data,3) raw_data 파일의 세번째 행까지 읽어드리는 명령입니다.

 

> raw_data=read.csv("raw_data.csv")

> head(raw_data,3)

id sq1 sq2 q1_1 q1_2 q1_3 q1_4 q1_5 q2 x

1 1 남성 30 5 4 3 5 5 5 전체

2 2 여성 40 6 4 5 3 5 3 전체

3 3 남성 30 6 6 7 7 6 6 전체

 

우선 성별 변수 sq1와 연령별 변수 sq2의 교차통계표를 구성해 보겠습니다. table() 함수를 이용하면 성별·연령별 빈도를 구할 수 있습니다. 빈도가 아니라 비율을 알고 싶다면 prop.table() 함수를 활용하면 됩니다. addmargins()를 활용하면 교차통계표에 주변합을 추가할 수 있습니다.

 

>fre=table(raw_data$sq1,raw_data$sq2)

>fre=prop.table(fre)

>fre=addmargins(fre)

30 40 Sum

남성 0.32 0.27 0.59

여성 0.20 0.21 0.41

Sum 0.52 0.48 1.00

 

이제 직원의 친절성을 평가한 변수 q1_1의 빈도와 평균을 전체 응답자, 성별, 연령별로 볼 수 있는 교차통계표를 만들어 보겠습니다. 전체 빈도를 보여주기 위해 전체를 표기한 x변수에 대해 table( )함수를 실행합니다.

 

> raw_data=read.csv("raw_data.csv")

> table1=table(raw_data$q1_1,raw_data$x)

> table1=prop.table(table1)

> table1

전체

3 0.05

4 0.18

5 0.36

6 0.29

7 0.12

 

다음으로 tapply() 함수를 이용해 전체에 대해 q1_1 변수의 평균을 구한 후 rbind() 함수를 이용해 행 방향으로 q1_1 변수의 빈도표에 합쳐 줍니다.

 

> mean<-tapply(raw_data$q1_1,raw_data$x,mean)

> table1=rbind(table1,mean)

> table1

total

3 0.05

4 0.18

5 0.36

6 0.29

7 0.12

mean 5.25

 

다음으로 성별을 구분하는 변수 sq1를 기준으로 빈도와 평균을 구한 다음 전체에 대한 기존 표에 합쳐 줍니다. prop.table(table2,2)에서 파일명 table2 다음의 2는 비율을 열방향으로 합산하기 위한 옵션입니다. 행방향으로 비율을 합치기 위해서는 1을 입력하면 됩니다. rbind()는 행 방향으로 파일을 합쳐주는 함수이고 cblind()는 열 방향으로 파일을 합쳐주는 함수입니다.

 

>table2<-table(raw_data$q1_1,raw_data$sq1)

>table2<-prop.table(table2,2)

>mean2<-tapply(raw_data$q1_1,raw_data$sq1,mean)

>table2<-rbind(table2,mean2)

>table<-cbind(table1,table2)

 

마지막으로 연령별 교차통계표를 구해 원래의 교차통계표에 합쳐 줍니다.

 

>table3<-table(raw_data$q1_1,raw_data$sq2)

>table3<-prop.table(table3,2)

>mean3<-tapply(raw_data$q1_1,raw_data$sq2,mean)

>table3<-rbind(table3,mean3)

>table<-cbind(table,table3)

 

전체 빈도와 평균에 성별 연령별 자료를 합한 교차통계표의 최종 결과물은 아래와 같습니다. print()함수를 이용해 교차통계표 숫자의 자리수를 조정해 줄 수도 있습니다.

 

> table

전체 남성 여성 30 40

3 0.05 0.05084746 0.04878049 0.07692308 0.02083333

4 0.18 0.11864407 0.26829268 0.19230769 0.16666667

5 0.36 0.37288136 0.34146341 0.32692308 0.39583333

6 0.29 0.32203390 0.24390244 0.32692308 0.25000000

7 0.12 0.13559322 0.09756098 0.07692308 0.16666667

mean 5.25 5.37288136 5.07317073 5.13461538 5.37500000

 

> print(table,digits=2)

전체 남성 여성 30 40

3 0.05 0.051 0.049 0.077 0.021

4 0.18 0.119 0.268 0.192 0.167

5 0.36 0.373 0.341 0.327 0.396

6 0.29 0.322 0.244 0.327 0.250

7 0.12 0.136 0.098 0.077 0.167

mean 5.25 5.373 5.073 5.135 5.375

 

설문지가 길어지면 교차통계표를 구하기 위해 위와 같은 절차를 각각의 문항에 대해 반복하는 것은 매우 비효율적입니다. function함수를 이용해 미리 위의 절차를 만들어 주면 설문지가 길어지더라도 비교적 효율적으로 교차통계표를 구할 수 있습니다.

 

>function1=function(a,b,c,d){

+table1<-table(a,b)

+table1<-prop.table(table1,2)

+mean<-tapply(a,b,mean)

+table1<-rbind(table1,mean)

+table2<-table(a,c)

+table2<-prop.table(table2,2)

+mean2<-tapply(a,c,mean)

+table2<-rbind(table2,mean2)

+table<-cbind(table1,table2)

+table3<-table(a,d)

+table3<-prop.table(table3,2)

+mean3<-tapply(a,d,mean)

+table3<-rbind(table3,mean3)

+table<-cbind(table,table3)}

 

function함수에서 a, b, c, d는 임의로 지정한 변수이고 a, b, c, d 대신 실제 분석 대상이 되는 변수들로 교체만 해주면 손쉽게 교차통계표를 구할 수 있습니다.

 

>output1=function1(a=raw_data$q1_1,b=raw_data$x,c=raw_data$sq1,d=raw_data$sq2)

> print(output1,digits=2)

전체 남성 여성 30 40

3 0.05 0.051 0.049 0.077 0.021

4 0.18 0.119 0.268 0.192 0.167

5 0.36 0.373 0.341 0.327 0.396

6 0.29 0.322 0.244 0.327 0.250

7 0.12 0.136 0.098 0.077 0.167

mean 5.25 5.373 5.073 5.135 5.375

 

 

궁금한 점이 있으면 아래 버튼을 클릭해 주십시오. 성실하게 답변 드리겠습니다.

 

 

 

 

 

'R기어가기' 카테고리의 다른 글

7. R로 차트 만들기 ②  (0) 2017.09.27
6. R로 차트 만들기 ①  (0) 2017.08.05
4. R을 이용한 IPA 산점도 작성  (0) 2017.01.13
3. 테이블! R로 만들기  (0) 2017.01.07
2.R을 이용한 word cloud 만들기  (1) 2016.08.12
Posted by dooka
,

14. 서베이몽키 웹 링크①

15. 서베이몽키 웹 링크②

        18. 서베이몽키 이메일 초대장

 

서베이몽키의 주된 설문 응답 수집 수단인 웹 링크와 이메일 초대장 외에도 서베이몽키는 ‘소셜 미디어 게시’, ‘웹사이트 삽입’, ‘모바일 앱 삽입’, ‘데이터 직접 추가’의 다양한 응답 수집 수단을 제공하고 있습니다.

서베이몽키에서는 트위터, 링크드인, 페이스북과 같은 소셜 미디어를 통해 설문조사를 손쉽게 실시해 볼 수 있습니다.

또한, 웹사이트의 특정 페이지에 설문을 삽입하거나 팝업창 형태로 노출할 수 있습니다. 웹 사이트 페이지나 팝업창에 삽입할 서베이몽키 설문의 크기와 색상을 ‘테마’에서 결정한 후 마감 날짜 및 시간과 최대 응답 수 등의 옵션을 지정하고 설치 코드를 복사하는 후 원하는 사이트의 소스 코드에 붙여넣기 하면 됩니다.

 

 

서베이몽키의 모바일 SDK(Software Development Kit)를 사용하면 iOS나 Android 앱에서 설문조사 응답을 수집하여 서베이몽키 를 사용하여 응답을 분석할 수 있습니다.

종이 설문지를 이용해 진행한 설문조사의 응답 결과를 입력하거나, 인터넷에 연결할 수 없는 사람을 대신해 응답을 추가할 수 있습니다. 데이터 직접 추가는 기본적으로 웹 링크에서 복수응답을 허용하는 것과 유사합니다. 종이 설문지의 결과를 데이터 형태로 구성하여 일괄 업로드하는 것이 아니라 설문 결과 하나하나를 별도로 입력하는 것이므로 표본크기가 너무 많다면 데이터 직접 추가를 활용하는 것이 비효율적일 수 있으며, 어디까지나 보조적인 수단으로만 고려하는 것이 좋습니다.

 

궁금하신 점이 있으면 아래 버튼을 클릭해 주세요. 성실하게 답변드리겠습니다!

 

 

 

 

 

Posted by dooka
,