티스토리 뷰

반응형

[통계 이야기/Mplus를 이용해보자] - Mplus 기초 1 ◁ 현재 포스팅

[통계 이야기/Mplus를 이용해보자] - Mplus 기초 2 (SEM)

[통계 이야기/Mplus를 이용해보자] - Mplus 기초 3 (매개)

[통계 이야기/Mplus를 이용해보자] - Mplus 기초 4 (조절)

 

Mplus도 기초부터 차례대로 다뤄볼게요.

 

Mplus는 SPSS나 AMOS처럼 GUI 기반의 프로그램이 아니고 아직 한국어로 된 정보도 부족해서 국내에서는 잘 사용하고 있지는 않은 것 같아요. 근데 생각보다 좋은 통계 툴이예요. 특히나 요새 인기(?)를 끌고 있는 MSEM을 모델링 하기에 좋은 툴이기도 하고요.

하나하나 차근차근 살펴볼까요?

Mplus 확장자

먼저 Mplus는 .dat 라는 확장자 파일을 읽을 수 있어요.

보통 코딩은 SPSS에서 하시죠? SPSS 파일에서 어떻게 .dat로 바꿀까요?

SPSS에서 다른이름으로 저장에서 "Tab Delimited" .dat 파일로 바꿀 수 있어요.

이 때 변수 이름 없이 저장을 해야해요. 아니면 저장 후 notepad로 파일을 열어서 변수 이름을 지워주세요.

하지만 조심해야 할 부분이 있어요. SPSS는 값이 비어있는 곳을 missing으로 인식하는 반면, Mplus에서는 missing인 값을 따로 입력해줘야 해요. 저는 missing 값들을 보통 999로 바꿔줘요. 따라서, SPSS에서 모든 missing 들을 999로 바꿔주고 나서 .dat 파일로 바꿔주세요.

또 다른 방법은(제가 하는 방법) 먼저 SPSS파일을 .csv 파일로 바꿔줘요. 그리고 이 파일을 notepad에서 열어요.맨 윗 줄(변수 이름)은 잘라내서 다른 메모장에 붙여줘요. 그리고 replace all 기능을 이용해서 , , 를 ,999, 바꿔요. 그 다음 , (콤마)를 스페이스(빈 공간)로 바꿔요. 그러곤 .dat 파일로 저장해요.

저는 후자 방법으로 해야 실수가 없더라고요.

 

Basic Commands

앞서 말했듯이 Mplus는 GUI 기반 프로그램이 아니예요. Commands를 손수 입력해야 해요. (대문자 소문자 구분 없어요. 명령어들을 대문자로 적었어요.)

먼저 가장 첫 줄에 보통 제목을 넣어요.

TITLE:

이라고 하고 제목을 넣어요.

TITLE: SEM basics using Mplus

한글 지원이 안되니 참고하시고요. 타이틀은 말 그대로 그냥 제목이예요.

그 다음은 데이터를 불러와야겠죠?

DATA:

라는 상위 명령어를 친 후

FILE IS

뒤에 파일 위치를 넣어주세요.

만약 이 Mplus input 파일과 데이터 파일을 한 곳에 저장한다면,

FILE IS SEM.dat;

이런식으로 하시면 되고, 만약 Mplus input 파일과 데이터 파일이 다른 곳에 있다면,

FILE IS "c:\research\SEM.dat";

자세한 위치와 쌍 따옴표를 포함시켜 주세요.

;

세미 콜론은 아주 중요해요.

제목을 제외하고, 모든 명령어가 끝날 때 이 세미 콜론이 항상 들어가야 해요.

다음은 데이터가 뭘 의미하는지 정의를 내려줘야 해요.

VARIABLE:

라는 상위 명령어를 친 후,

NAMES ARE

라고 하고 뒤에 각 열에 맞는 변수 이름을 넣어주세요. 변수 이름은 반드시 8글자(영어 알파벳 8개) 이하여야 해요.

왼쪽 세로줄 부터 차례대로

NAMES ARE ID con var1 var2 var3;

이런식으로 적으시면 돼요.

이건 단순히 내 데이터를 정의 내려준 거예요. 이번에는 "나는 지금 분석에서 어떤 변수를 사용할꺼야"라는걸 표현 해줘야 해요.

USEVARIABLES ARE

라는 명령어를 친 후 사용할 변수를 넣어주세요.

USEVARIABLES ARE con var1 var3;

여기서 위에 NAMES ARE 에서 정의하지 않은 이름이 들어가면 안돼요.

예를 들어, USEVARIABLES ARE con var1 var3 var4;

이러면 오류떠요.

만약 이번 분석에서 특정한 값 만을 사용하고 싶어요. 예를 들어, con > 1 인 경우의 값들만 쓰고 싶어요.

그러면 USEOBSERVATIONS = (be동사 대신 = 써도 무방)

라는 명령어를 이용해서

USEOBSERVATIONS = con > 1;

라고 해주면 돼요.

그리고 missing 값들을 정의해줄게요.

MISSING =

라는 명령어를 이용해서

MISSING = all (999);

라고 하면, 모든 변수에서 999값은 missing 값이다 라고 알려주는 거예요. 만약 특정 변수마다 missing 값이 다르면

MISSING = var1 (99) var3 (999);

이런식으로 하면 돼요.

만약 종속변수가 categorical 변수라면

CATEGORICAL =

하고 뒤에 종속변수가 categorical 인 변수를 넣으면 돼요.

CATEGORICAL = con;

logistic regression 시에는 반드시 들어가겠죠?

만약 종속변수가 count 변수예요.

그러면

COUNT =

하고 뒤에 count 변수를 넣어주세요.

COUNT = var1;

예를 들어, poisson, negative binomial, zero-inflated poisson 을 할 때 필요하겠죠?

만약 종속변수가 nominal (숫자가 아닌 데이터)이예요.

NOMINAL =

하고 변수 넣어주면 돼요. 쉽죠?

만약 조절 분석 같은 multigroup 분석이 하고 싶어요.

그러면 GROUPING IS

라는 명령어를 통해

GROUPING IS var1 (1=male 2=female);

이런식으로 하면 돼요.

이 정도면 VARIABLE은 충분할까요?

만약 SPSS에서 compute 하는 것 처럼, Mplus 에서 계산을 하고 싶어요.

그러면

DEFINE:

기능을 이용해요. 단! 반드시 USEVARIABLES 에 새롭게 생성할 변수를 넣어줘야 해요.

현재 USEVARIABLES에는 con, var1, var3 를 넣었다고 해봐요. 그리고 계산을 통해서 var13 이라는 변수를 만들고 싶어요. 그러면

USEVARIABLES = con var1 var3 var13;

이렇게 추가 해주시고,

DEFINE:
var13 = var1*var3;

이렇게 계산해주세요.

뭐가 할게 많은 것 같죠? 근데 정작 필요한 것만 쓰면 별로 많지 않아요

오늘한 input 예시예요.

간단하죠?

이 외에도 많은 기본 명령어들이 있어요. 궁금한 명령어는 댓글 남겨주세요.

 

 

도움이 됐다면 커피 한 잔 사주시면 감사하겠습니다^^

 

EPIK is 어려운 지식을 가능한 한 쉽게 공유하는 곳이예요 :)

Hey 👋 I just created a page here. You can now buy me a coffee!

www.buymeacoffee.com

 

반응형

'통계 이야기 > Mplus를 이용해보자' 카테고리의 다른 글

Mplus에서 ICC 계산하기  (9) 2020.05.29
Mplus 기초 4 (조절)  (16) 2020.05.28
Mplus 기초 3 (매개)  (12) 2020.05.27
Mplus 기초 2 (SEM)  (2) 2020.05.26
댓글