Jamovi로 설문 데이터 분석해보기

CCRPM 다중 회귀 분석(1)

by Marv


올해 1학기에 수강한 수업 중 하나는 데이터 분석과 관련된 수업이었다. 이 수업은 직접 대학생의 기후변화 인식에 대한 설문을 진행하고 설문 결과를 바탕으로 다중 회귀 분석을 진행하여 연구 보고서를 쓰는것이 최종 목적이었다. 나중에 이 내용들을 써먹을 수도 있으니까 수업을 수강하면서 얻은 내용들을 정리해보고자 한다.


들어가기에 앞서 데이터 분석에 사용한 툴은 Jamovi 였다.



Jamovi에 대해서 짧게 설명하자면 SPSS와 같은 통계 분석을 위한 오픈 소스 소프트웨어이다. 무료이고 직관적인 인터페이스를 가지고 있어서 처음 사용하는데도 금방 적응할 수 있었다.



1. 설문결과 데이터 전처리하기


%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-27_142637.png?type=w1 엑셀에 저장한 설문 결과 중 일부


우리 조는 리커트 척도를 사용한 설문 문항을 설계하고 구글폼으로 설문지를 작성하여 주변 학생들에게 열심히 참여해달라고 한 덕분에 총 133명의 설문 결과를 얻을 수 있었다. 그러나 이 데이터를 바로 분석에 사용할 수는 없다. 분석하기 전에 미리 데이터를


'청소'하고 '정리'하는 과정이 필요하기 때문이다.




1-1) 결측값(Missing Value) 제거


수집한 133명의 응답 중 6명은 일부 문항에 답변하지 않은 부분이 있었다(위 사진의 주황색 부분). 분석의 정확도를 위해 이런 불완전한 데이터는 '결측값'으로 간주하고 분석에서 제외했다. 그래서 최종적으로 사용한 데이터는 총 127명의 응답이 되었다.




%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-27_160359.png?type=w1 복수 선택과 '잘 모르겠음(99)'으로 응답한 답변들


1-2) 데이터 코딩 규칙 정하기


Jamovi는 숫자 값을 기반으로 분석하기 때문에, 각 응답에 일관된 숫자 규칙을 부여하는 '코딩' 작업이 필요하기 때문에 규칙을 정해놔야한다.


복수 정답 문항: 인지적 부분의 지식 측정 문항처럼 보기 중 여러 개의 정답을 모두 맞춰야 하는 경우, 전부 맞히면 1, 하나라도 틀리면 0으로 변환.

결측값 처리: 분석에 사용하지 않을 '잘 모르겠음' 같은 응답은 Jamovi가 결측값으로 인식하도록 일괄적으로 99라는 숫자로 설정.


이렇게 엑셀 파일을 다시 정리해준뒤 jamovi를 열면된다.






2. Jamovi에 데이터 입력하고 변수 설정하기


%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-27_153420.png?type=w1 Jamovi 화면


엑셀 파일에서 설문 결과 값만 Jamovi로 붙여넣기 때문에 분석하다 보면 이게 어떤 문항의 설문 결과였는지 혹은 이 값이 의미하는 설문 결과가 뭐였는지 헷갈릴 수가 있다. 그렇기 때문에 알아보기 편하게 DATA VARIAVLE에 각 속성 요약 내용을 적어두었다.


제목 칸에는 몇 번째의 어떤 부분 설문이었는지를, 바로 아래 소제목 칸에는 설문 보기를 어떻게 구성했었는지를 간략하게 적어놨다.





%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-27_153430.png?type=w1


Maesure type은 측정 유형을 선택하는 곳이다.


Nominal (명목형): 순서 없는 이름표. (예: 성별, 종교)

Ordinal (서열형): 순서 있는 이름표. (예: 학년, 만족도)

Continuous (연속형): 계산 가능한 숫자. (예: 리커트 척도 점수, 키)

ID (아이디): 분석에서 제외되는 식별 번호





%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-27_153439.png?type=w1


Date type은 셀에 어떤 형식의 값을 입력할지 정하는 설정이다.


Integer (정수): 소수점 없는 숫자 (예: 1, 127)

Decimal (실수): 소수점 있는 숫자 (예: 5.35, 3.14)

Text (텍스트): 문자나 단어 (예: "여성", "매우 동의함")




%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-27_154153.png?type=w1


인구통계학적 부분의 경우 각 문항마다 Measure type과 Data type을 설정해주었다. 특히 인구통계학적 변수처럼 카테고리로 나뉘는 값들은 나중에 분석 결과를 해석하기 쉽도록 위와 같이 각 숫자 값이 무엇을 의미하는지(e.g., 1=남성, 2=여성) 직접 라벨을 달아주면 편리하다.


이렇게 각 속성을 간단하게 정리하고 나면, 이제 설문문항의 각 요인별로 평균 값 혹은 합을 계산해 주어야한다.





3. 각 요인별 점수 계산하기


%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-27_154853.png?type=w1


우리가 만든 설문지는 여러 문항을 묶어 하나의 개념(요인)을 측정하도록 했다. 예를 들어 '위험인식'이라는 요인을 측정하기 위해 8개의 문항을 사용했으므로, 이 8개 문항 점수의 평균을 내 '위험인식' 대표 점수를 만드는 것이다.





%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-27_161154.png?type=w1


왼쪽 상단의 Data > compute 를 눌러서 각 요인별로 값을 계산할 수 있다.



%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7_2025-08-27_161545.png?type=w1


CCRP 모델에 따라 설문 문항들을 [위험인식 - 인지적(원인, 영향, 대응) - 정서, 경험적 - 기술적, 당위적 - 생태중심, 이타적, 자기중심, 미래지향적 - 인구통계학적]으로 나누어, 각 요인에 해당하는 문항들을 묶어 평균(MEAN)이나 합계(SUM) 함수를 사용해 새로운 변수를 생성했다.


참고로 대부분의 요인들은 여러 문항의 평균을 계산했지만, 인지적 요인만은 예외적으로 합계 함수를 사용했다.


그 이유는 인지적 요인 관련 문항들은 응답자의 지식 수준을 측정하는 것이 목적이라, 정답을 맞힌 개수가 곧 '총 지식 점수'가 되기 때문이다.


물론 성별이나 학년 같은 인구통계학적 변수들은 그 자체로 하나의 독립된 정보이므로 따로 점수를 계산할 필요가 없어 이 과정에서 제외했다.







이렇게 데이터 정제부터 변수 설정, 척도 계산까지 마쳤다.



다음 글에서는 이 데이터를 가지고 기술통계, 상관관계 분석, 신뢰도 분석, 다중 회귀분석을 진행하는 과정을 정리해야겠다..





작가의 이전글데이터로 부활한 Special K 이야기