728x90

3. Jamovi 데이터 핸들링

1) 데이터 핸들링의 목적

통계분석의 시작은 분석에 적합한 원천 데이터(raw data)를 확보하고, 이를 통계분석에 적합한 형태로 정리하는 작업이다. 원천 데이터는 설문 조사나 외부 2차 데이터 등을 통하여 확보할 수 있지만, 보통 이들 데이터들을 그대로 쓰는 경우는 거의 없으며, 통계분석에 적합하도록 코딩(coding), 데이터 클린싱(cleansing) 같은 전 처리 과정을 거친다. 또한 전 처리 과정 이후에도 분석 과정중에서 기존 변수들을 다시 구간화하여 정리한다든지, 두개 이상의 변수를 결합하여 새로운 변수를 만드는 등의 경우가 빈번하다. 이와 같은 데이터 핸들링 과정을 통하여 통계 분석의 편리성을 증대시킬 수 있으며, 데이터를 타 연구자와 공유하는 등 협업의 가능성을 높일 수 있다. 잘 정리된 데이터는 굳이 설문지나 데이터에 대한 자세한 설명없이도 어떤 목적으로 수집된 데이터인지 스스로 말할 수 있어야 한다.

2) 데이터 입력하기

Jamovi에서 데이터 입력하는 방법은 기존 SPSS와 동일하다. 이미 SPSS에 익숙하다면 별다른 지침이나 설명없이도 직관적으로 입력이 가능하다. 처음 통계 프로그램을 접하는 경우를 가정하고 설명하면 다음과 같다. Jamovi 에서는 데이터 입력창에 직접 데이터를 입력할 수 있으며, 이 경우 변수명은 자동적으로 A, B, C, D와 같은 알파벳 순서로 생선된다. 엑셀 시트와 닮은 데이터 입력창은 column(열)과 row(줄)로 이루어져 있는데, 쉽게 생각하면 column은 변수명, row는 개별 응답자로 생각하면 된다. 즉 총 10개의 변수가 포함된 설문 문항을 5명이 응답하였다면 10개의 컬럼(열)과 5개의 로(줄)가 필요하다.

그러나, 대부분의 경우 데이터 입력창에 직접 입력하기 보다는 이미 다른 도구에서 정리한 데이터 파일을 불러오는 것이 일반적이다. 종이나 온라인 설문지로 받은 설문 결과를 통계 프로그램이 이해할 수 있도록 입력하는 과정을 펀칭(punching), 그리고 입력된 데이터에 변수명과 변수 값을 부여하는 과정을 코딩(coding), 입력된 데이터중 오류나 이상치(outlinear)를 찾아서 정정하거나, 도량형 등 사전에 정의된 데이터 기준에 부합되도록 데이터를 정리하는 과정인 데이터 클린싱(cleansing) 과정을 통계 분석 전에 처리하여야 하는데, 이런 데이터 핸들링 작업을 수행할때는 보통 SPSS나 Jamovi 같은 통계 프로그램이 제공하는 데이터 에디터 창보다는 엑셀이나 워드, 텍스트 에디터 등을 이용하는 것이 더 빠르고 편리하기 때문이다.

Jamovi 역시 다양한 입력 파일을 지원한다. Jamovi와 SPSS, R, JASP 등 통계 패키지의 데이터 파일은 물론이고, 엑셀 파일 포맷(csv)과 텍스트 파일 포맷(txt)를 지원한다. 데이터 입력 기능을 사용하기 위해서는 파일 탭 ->열기(open)-> 본 컴퓨터에서 열기(This PC) -> 파일찾기(Browse)를 차례로 선택하면 된다. 파일을 불러오면 데이터 파일이 열리게 된다. 엑샐 파일(csv)로 파일을 준비하여 여는 경우에 엑셀의 첫 행이 변수들의 이름으로 되어 있다면 Jamovi는 이를 자동으로 변수명으로 인식한다. 변수명은 데이터 입력후 변경이나 생성이 가능하므로 변수명이 확정되어 있지 않다면 나중에 명명하여주어도 상관없다.

Jamovi에서 지원하는 데이터 포맷

3) 변수명 및 속성 지정

불러온 데이터는 통계분석에 적합하도록 편집이나 변수명 부여하기 등 관리 활동이 필요할 수 있다. 변수 관리는 데이터 관리 탭에서 제공되는 메뉴들을 활용하여 변수명 및 속성 지정(Setup), 새로운 변수의 계산(Compute),  변수 다시 코딩하기(Transform),  필터와 그외 기능들에 대하여 살펴본다.

데이터 관리 탭의 주요 메뉴

우선 통계분석을 위해서는 필수적으로 변수명을 지정해주고, 변수의 속성 역시 지정해주어야 한다. 변수명은 엑셀 시트의 첫줄에서 지정해준채로 불러올수도 있지만, 변수의 속성은 엑셀에서는 지정할 수 없으며 Jamovi에서 지정해주어야 한다.  변수의 속성은 적용가능한 통계분석방법론의 종류에 영향을 미치기 때문에 가급적 정확하게 부여해주는 것이 좋다. 

가) Setup: 변수명 및 속성 지정

   우선 데이터 입력창을 보명 1명의 응답자가 3개의 질문에 응답한 결과, 즉 1개의 줄(row)과 3개의 열(column)으로 구성된 데이터를 볼 수 있다. 설문조사를 통하여 응답자의 이름, 연령, 성별(1=남자, 2-여자)를 차례로 물어본 결과를 데이터로 정리한 것이다. 그러나 이런 문항이었음을 우리는 현재의 데이터 창만을 보고는 잘 알 수가 없다. 변수명도 A,B,C와 같이 문항의 내용을 알아보기 힘들게 자동부여된 상태이며, 변수에 대한 설명이 잘 되어 있지 않기 때문이다. 이런 문제를 해결하기 위하여 변수명을 각각 name, age, gender로 수정하고, 변수에 대한 추가적인 설명을 달 수 있다면 데이터를 접하는 누구나 손쉽게 데이터를 이해할 수 있다.

변수명/변수설명의 변경 전과 후

변수명과 변수 설명 이외에 추가적으로 변수의 척도 유형(type)을 4가지중 하나로 지정해주어야 한다. Jamovi에서는 연속척도(continuous scale), 서열척도(ordinal scale), 명목척도(nominal scale), 그리고 구분번호(ID)의 4가지 유형을 구분한다. 척도의 구분은 통계 분석과 방법론 결정에서 매우 중요하기 때문에 별도로 설명이 필요하지만, 우선 간단하게 표로 그 차이를 제시하면 다음과 같다(상세 설명은 추후 설문지 만들기에서 다룸). Jamovi에서는 비율척도와 연속척도 간의 실질적인 차이가 크지 않다고 보고 있기 때문에 연속척도에서 비율척도 까지 포괄하고 있다고 생각하면 된다. 그리고 구분번호(ID)는 단순히 응답자에 일련번호를 붙이는 것을 말하며 특별히 분석에 사용되는 경우가 적기 때문에 일단은 무시하여도 좋다. 즉, 변수 설정에서는 주로 1) 연속척도 혹은 2) 명목척도인지 2개중 하나를 선택하면 대부분의 경우 문제가 없다.

4대 주요 척도 설명

척도 유형을 결정한 이후에는 데이터 유형도 지정하여 주어야 한다. 데이터 유형은 크게 텍스트(text), 정수(decimal), 소수점(decimal)의 3가지인데, 텍스트는 주로 문자로 받는 입력값(이름,의견등)인 경우이며, 정수는 소수점 없는 숫자(예:7), 소수점은 소수점을 가진 숫자(예: 7.22)의 경우에 사용한다. 데이터 유형 규칙에 맞지 않는 경우에는 입력이 제한될 수 있다. 즉, 정수 데이터유형인 경우에는 소숫점을 가진 숫자는 입력되지 않는다.

모든 변수에 대한 설정이 완료된 이후에는 엔터키나 화면 우측상단의 윗화살표 아이콘을 클릭하면 변경사항을 저장할 수 있다

나) Compute: 변수의 계산

변수를 계산하는 'Compute' 아이콘은 이미 획득한 데이터를 기반으로 새로운 변수를 만들때 주로 사용된다. 실제로 이 기능을 이용하면 설문 조사나 원 데이터에 없었던 새로운 변수를 계산을 통하여 만들어낼 수 있기 때문에 설문지의 문항 갯수를 감소하거나, 분석의 다양성을 확보하는 등의 장점이 있다. 일 예로, 어린이가 연간 마시는 음료수의 갯수를 조사하는 설문조사를 한다고 가정하자. 이럴 때 "일년에 몇병의 음료수를 마시는가?"라고 물어보게된다면 대부분의 응답자들은 연간 음료구매량에 대해서 생각해본 적이 없기 때문에 답변을 할 수 없다. 반면에 "일주일에 몇병의 음료수를 마시는가?"라고 물어본다면 비교적 최근의 기억을 토대로 정확하게 응답할 수 있고, 연구자는 물어본 결과는 아니지만 주간 음료의 양을 연간으로 환산하여 손쉽게 원하는 결과를 찾아낼 수 있다. 비슷한 예로 현재 이용중인 스마트폰의 이용기간을 월로 물어본다고 가정하자. "몇개월이나 사용하였는가?"라고 물어보기 보다는 "언제 가입하였는가?"를 물어본 뒤, 가입 이후 현재까지의 경과 기간을 물어보는 것이 더 효율적이다.

이러한 예를 설명하기 위하여 본 예제에서는 '비만도(BMI) 조사'의 예를 살펴보자. '비만도(BMI)는 BMI=몸무게(kg)/(키m*키m)'로 산출한다. 즉 키와 몸무게만으로도 산출이 가능하다. BMI를 계산하는 방법은 다음과 같다.

우선, 데이터 관리 탭의 'Compute' 아이콘을 클릭하면, 새로운 변수가 자동으로 생성된다. 이는, 변수의 계산을 통하여 과거에 없던 새로운 변수가 하나 더 생기기 때문에 새로운 변수에 대하여 변수명과 속성 지정이 필요함을 의미한다. 물론 자동으로 주어진 변수명을 사용하여도 분석은 가능하지만, 우리는 연구자의 편의를 위하여 앞서 배운바대로 변수명, 변수설명 등의 속성을 지정해준다. 이를 통하여 목표로 하는 BMI 값을 확인할 수 있다. 변수 계산은 보통 계산식 입력창에 직접 계산 수식을 넣어서 사용할 수도 있고, 화면 우측하단의 'Fomular'를 선택하면 엑셀에서 익숙한 함수 형태의 수식 적용도 가능하다. 

변수계산을 통한 새로운 변수 만들기

다) Transform: 변수의 변환

기존의 변수를 다른 변수로 바꾸어주는 'Transform' 아이콘은 이미 획득한 데이터를 기반으로 새로운 특성의 변수를 만들때 주로 사용된다. 일예로, 설문문항에서는 명목척도로 물어보았지만, 통계분석을 위하여 다시 연속척도로 변경하는 경우가 있다. 일예로 주관식 질문으로 성별을 물어본 경우에는 '남성', 혹은 '여성'으로 응답이 들어오지만, 이후의 통계 분석의 편의성을 의하여 남성=1, 여성=2의 값으로 바꾸는 경우가 많다. 또 다른 사례로, 기존의 데이터를 기준으로 새로운 변수를 만들고 싶은 경우가 있다. 일예로, 응답자의 몸무게를 주관식 문항으로 물어본다면 매우 다양한 응답치가 입력되지만, 연구자는 단순히 몸무게를 60키로 미만, 61키로 이상의 집단으로만 보고 싶은 경우도 생긴다. 변수 변환 기능은 얼핏 변수 계산 기능과 유사해보이지만 기존의 변수값을 단순히 재분류하거나 명명을 달리하는 것이라는 점에서 새로운 변수의 계산과는 차이가 있다. 이 기능 역시 실무 분석시 활용도가 높은 기능이므로 잘 익힐 필요가 있다.

이러한 예를 설명하기 위하여 본 예제에서는 응답자의 몸무게를 단지  60키로 미만, 61키로 이상의 2개 집단으로 재분류하는 예를 살펴보자. '즉 60키로 미만 = 1, 60키로 이상 = 2의 값으로 다시 코딩을 하게되며, 이를 변환하는 방법은 다음과 같다.

우선 메뉴 창의 Transform 아이콘을 클릭한다. 혹은 데이터 보기 창에서 마우스 오른클릭 후  Transform을 클릭하여도 동일다. 그러면 자동으로 변수가 하나 생기는데, 이 변수에도 변수명과 변수설명을 달아준다. 본 예시에서는 변수명은 'weight_group'으로 설정한다. 그리고 source variable을 지정해주어야 하는데, 이는 변환할때 참조하고자 하는 원래 데이터 변수명을 의미한다. 우리는 weight 변수를 다시 코딩하는 것이기 때문에 weight 변수를 선택한다. 그리고, 바로 아래의 드롭다운 메뉴를 보면 'using transform'에서 'create new transform'을 설정해준다. 그러면 Transform의 내용에 대하여 설명을 달 수 있고, 하단의 "+Add recode condition" 버튼을 2번 클릭한다. 2번 클릭하는 이유는 2개 집단을 만들기 위해서이며, 만일 3개 집단이면 3번 클릭하면 된다. 이후 등장하는 함수버튼(f)의 수식을 입력하면 된다. 본 예제의 경우에는 60kg 미만과 이상의 2개 집단이므로, "if $source < 60"을 먼저 입력한 후 새로운 변수 값 1을, 이후 "if $source >= 60"을 먼저 입력한 후 새로운 변수 값 2를 입력해주면 된다. 이후 생성된 새 변수를 보면, 바르게 변환된 것을 볼 수 있다. 간혹 이름과 같은 문자로 표시된 명목 척도값을 숫자로 변경하여 줄 필요가 발생하는데, 이때 해당 문자 값은 반드시 작은따옴표를 사용하여야 한다. 즉 '남자', '여자'처럼 함수버튼에 입력해야 한다. 본 수식은 다소 복잡해 보이지만 일반 엑셀에서 사용하는 등호 수식과 거의 동일하며, 직접 입력할 필요없이 마우스 클릭만으로 설정이 가능하다. 유의할 점은 Jamovi는 R에서 출발하였기 때문에 등호 수식중에서 같다(eqaul)를 표현하기 위하여  "=="를 사용하며 같지 않다(not equal)를 표현하기 위하여 "!="를 사용한다는 점 정도는 엑셀과 차이가 있다. 기타 다양한 수식은 필요에 따라서 익혀 사용하기를 권한다.

변수값 변경 Transfromation

라) Filter: 특정 케이스의 선택 

Jamovi에서 제공하는 필토 기능은 특정한 조건을 충족하느 케이스만을 선택하여 분석을 수행할 수 있게 도와준다. 예를 들어서 남자와 여자 모두를 대상으로 데이터를 수집하였으나, 보고서 목적상 여자만을 대상으로 분석하는 경우를 생각해보자. 가장 쉽게 생각할 수 있는 방법은 데이터 보기창에서 남자 데이터를 모두 지우고 여자 데이터만을 가지고 분석하는 방식이다. 이 방법은 얼핏 간단하고 효과적으로 보일지 모르지만, 나중에 연구 목적에 따라 남자도 추가로 분석해야 되는 상황이 되면 데이터 삭제에 따른 문제가 발생한다. 이럴때 필터 기능을 사용하면 데이터의 삭제 없이 필요한 분석을 할 수 있도록 도와준다.  그외에도 필터를 이용할 경우 복잡한 조건을 충족해야 하는 분석(예: 남성이면서 대학생인 응답자의 나이)을 간단히 할 수 있도록 도와줄 수 있으므로 꼭 익히도록 하자.

이러한 예시처럼, 이번에는 남자만을 대상으로 데이터 분석을 하기위한 필터를 적용해보자. 우선 데이터 탭의 메뉴 아이콘 중에서 'Filters'를 선택한다.  그리고 편집창의 'Filter 1' 칸에 필터로 사용할 변수명을 클릭한후, 필터로 사용한 변수 값을 지정해준다. 즉 변수명은 gender, 변수값은 '여성'을 지정해준다. 그러면 데이터 보기 창에 보기와 같이 응답자가 남성인 경우에는 x표시가 뜨며, 향후 분석에서 제외됨을 표시한다. 변수 지정 등 이 과정 역시 직접 입력하지 않고 마우스 클릭만으로 처리가 가능하다.

필터 적용 효과

필터는 필요에 따라서 추가하여 복수의 필터를 선택할 수 있다. 즉, 본 사례 데이터 값은 경우 필터에 사용할 변수로 gender와 height의 2개를 사용하여 키 170cm 이상의 여성이라는 조건을 충족하는 응답자에 대한 분석만도 가능하다.

마) 기타 기능들 

Jamovi 데이터 입력창에서는 데이터를 다루는데 필요한 기타 기능들을 제공한다. 변수를 추가하거나 삭제할 수 있는 Add와 Delete 기능, 변수나 데이터를 복제하거나 붙일 수 있는 기능들을 제공한다. 이들 기능들은 기본적으로 엑셀, 워드의 기능과 동일하므로 별다른 설명없이 바로 사용이 가능할 것이다.

4) 직접 데이터 핸들링을 해보자

앞에 배운 내용을 중심으로 직접 데이터 핸들링을 해보자. 변수(이름)과 변수에 대한 설명(레이블)은 통상적 SPSS에서 사용되었던 전형적인 데이터 분석 창이다. 이를 보면 본 데이터는 코로나 바이러스가 생활에 미치는 영향을 살펴보기 위하여 총 8개의 설문문항으로 이루어진 설문조사를 통하여 얻어진 것임을 알 수 있다. 즉.

1. Id 변수: 응답자 일련번로 (응답자 중복방지를 위하여 설문응답자에게 번호를 붙여다. 본 데이터는 1~546까지의 아이디가 부여되어 있다. 즉 546명의 데이터다)

2. a1~a3 변수: 코로나 이후 1) 인터넷, 2) 스트리밍 서비스, 3) SNS의 이용이 증가 혹은 감소하였는지를 등간척도의 하나인 5점척도로 물어보고 있다. 

2. b1~b3: 로나 이후 1) 인터넷, 2) 스트리밍 서비스, 3) SNS의 이용시간을 시간 단위의 주관식 문항(비율척도)으로 물어보았다.

3. gender: 응답자의 성별은 객관식 문항(명목척도)인 1과 2로 물어보았다. 1=남성, 2=여성

4. age: 응답자 연령을 주관식 문항(비율척도)으로 물어보았다.  

예제: 데이타 정의

아래는 이런  설문지를 통하여 얻은 총 546명의 데이터를 엑셀 시트로 정리한 것이다. 이 파일을 가지고 실습을 해보자

실습 1) 이 변수들을 가지고, 어떤 설문지를 사용하였는지 역으로 추산해서 설문지를 만들어보자

실습 2) 제공된 엑셀 CSV 파일 포멧의 데이터를 가지고, Jamovi에 데이터를 불어오기를 한다. 그리고, SPSS의 변수정의와 동일하도록 정리해보자(엑셀 파일의 첫줄은 자동적으로 변수명이 되므로, 불러오기 전에 첫줄에 변수명을 미리 상빕하는 전 처리를 하는 것이 편하다)

데이타546명.csv
0.02MB

728x90

+ Recent posts