반응형

 

[SPSS] 조건에 맞는 데이터만 선택하기

 

 연구를 하다 보면 특정 조건에 맞는 사람들(데이터, 케이스)만을 대상으로 분석하고 싶어질 때가 있다. 즉 하위그룹(subgroup)을 만들어 분석을 하거나, 층화(stratification) 분석을 하고 싶을 때가 있다. 예를 들어, 남성만을 대상으로 하거나, 음주자만을 대상으로 하는 경우가 그렇다. 이렇듯 조건에 맞는 행, 데이터만 추출하는 법에 대해 알아보고자 한다.

 

*실습용 데이터는 아래 링크를 클릭하면 다운로드할 수 있습니다.

2022.08.04 - [공지사항 및 소개] - 분석용 데이터 (update 22.08.29)

 

분석용 데이터 (update 22.08.29)

2022년 08월 29일 버전입니다. 변수는 계속하여 추가될 예정입니다. 다음 카테고리에 있는 글에서 이용된 데이터입니다. - 기술 통계 - 통계 프로그램 사용 방법 1) 엑셀 파일 2) CSV 파일 3) 코드북

medistat.tistory.com

 

먼저 데이터를 불러온다. 데이터를 불러오는 방법은 다음 글을 확인하길 바란다.

2022.08.04 - [통계 프로그램 사용 방법/SPSS] - [SPSS] 데이터 불러오기 및 저장하기

 

 

하는 방법

1) 데이터(D)> 케이스 선택(S)

 

2) 조건을 만족하는 케이스(C)를 누르고 "조건(I)"버튼을 누른다.

 

3) 조건을 입력하면 된다. 여기에서는 음주자만 추출해보고자 한다. 음주자는 ALCOHOL 변수가 1로 코딩되어 있으므로 ALCOHOL=1이라고 적는다. "계속(C)"를 누른다.

 

4) "확인" 버튼을 누른다.

 

결과

위에서 볼 수 있듯이 ALCOHOL=0인 사람들은 사선 처리되어있는 것을 알 수 있다. 이 상태에서 다른 분석 (평균, 빈도, 회귀분석 등)을 시행하면 사선 처리가 되어있는 비음주자는 분석에 이용되지 않는다.

 

다중 조건 (AND)

조건이 하나가 아닌 여러 개를 걸고 싶을 때가 있다. 예를 들어 음주자 (ALCOHOL=1)이면서 현재 흡연자 (SMOK=2)인 데이터(행)만 추출하고 싶을 때다. 이럴 때에는 "&"연산자를 사용하여 다음과 같이 적으면 된다.

"ALCOHOL=1  &  SMOK=1"

 

결과

음주자가 아니거나 (ALCOHOL=0) 과거 흡연자(SMOK=1), 비흡연자(SMOK=0)인 경우 모두 사선 처리가 되어있는 것을 확인할 수 있다.

 

다중 조건 (OR)

만약 비흡연자를 제외하고 과거 흡연자(SMOK=1)이거나 현재 흡연자(SMOK=2)인 사람만 선택하고 싶다면 어떻게 해야 할까? 위와 같이 &를 사용할 수는 없다. 왜냐하면 SMOK=1이면서 SMOK=2일 수는 없기 때문이다. 이럴 때에는 OR에 해당하는 "|" 연산자를 사용해야 한다. 

"|"연산자는 직접 써도 되고, 익숙하지 않은 사람을 위해서 SPSS에서는 빨간 상자 안에 버튼을 만들어 놓았다.

 

결과

SMOK=0인 사람만 사선 처리되어있는 것을 알  수 있다.

 

 

다중 조건 (AND, OR)

만약, 음주자이면서 비흡연자가 아닌 (현재 흡연자 혹은 과거 흡연자)인 사람을 선택하려면 어떻게 해야 할까?

ALCOHOL=1 & (SMOK=1  |  SMOK=2)

AND연산자는 OR에 우선하기 때문에 반드시 괄호 처리를 해주어야 한다. 수학에서 $\times$가 $+$보다 우선하기 때문에 필요한 경우 괄호를 씌우는 것과 동일하다.

결과

비음주자이면서 비흡연자는 모두 사선 처리된 것을 알 수 있다.

 

다시 되돌아가고 싶다면?

케이스 선택에서 "모든 케이스(A)"를 클릭하고 확인을 누르면 된다.

 

결과

모든 사선이 사라진 것을 확인할 수 있다.

 

SPSS 케이스 선택 정복 완료!

작성일: 2022.09.29.

최종 수정일: 2022.09.29.

이용 프로그램: IBM SPSS v26

운영체제: Windows 10

 
반응형

+ Recent posts