교육통계/Rstudio

교육통계 R랑가몰라 - 1. 기술통계 2) 변수 만들기

개노답이글스 2022. 11. 2. 16:10

 

안녕하세요, 이번에는 R로 분석에 사용할 변수를 만드는 방법에 대해 알아보려 합니다.

-----------------------------------------------------------------------------------------------------------------------------

1. 데이터 불러오기

데이터는 KCYP2018m1Yw2 : 중학생 패널조사 자료 2차를 사용하였습니다.

저는 CSV 파일을 불어와서 활용하였습니다.

데이터를 불러오신 후에

https://blog.naver.com/PostView.naver?blogId=tmalqr&logNo=222446497579&redirect=Dlog

Environment을 확인하시면 데이터가 있습니다.

이 데이터셋이 KCYPS2018m1Yw2라는 이름으로 저장되어 있어서

분석에 사용하기에는 이름이 길어 짧은 이름으로 새롭게 저장하겠습니다.

[그림 1] 데이터셋 확인

불러온 데이터를 확인하는 방법은 View 함수를 사용하거나, Enviroment 창에서 확인하는 방법 두 가지가 있습니다.

View(객체이름) --> V는 대문자

저는 study라는 객체에 데이터를 담았기 때문에

View(study) 이렇게 입력하면

[그림 2] View 함수 활용하여 데이터셋 확인

처음 데이터 불러왔을 때 화면이 나타납니다. 또는 Environment 창에서 데이터셋을 클릭하면 바로 [그림 2]처럼

나오게 되는데요.

[그림 3] Environment창에서 데이터셋 확인하기

저 위에 마우스를 놓으면 마우스 모양이 바뀌고, 클릭하면 됩니다.

-----------------------------------------------------------------------------------------------------------------------------

2. 변수 만들기

변수를 만들 때 응답항목 값들의 평균값을 활용하여 만들게 됩니다.

예를 들면, 자아존중감을 10개의 문항으로 조사를 했다면, 10개의 문항 값의 평균을 사용하여

자아존중감이라는 변수를 만들 수 있습니다.

아마 시중에 많은 R교재에서 변수를 만드는데

객체이름 <- (1,2,3,4,5,6,7,8,9,10) 이러한 벡터의 형태로 변수를 만들어서 사용하는 것을 보셨을 텐데요.

벡터의 형태로 만들어서 평균값을 사용하면 값에 굉장한 왜곡이 생기며, 응답자의 특성을 반영할 수가 없습니다.

그래서 변수를 이렇게 만들면 사용할 수 없습니다.

즉, 응답자의 특성을 잘 반영한 변수를 만들어야 한다는 것입니다.

여기서 사용할 함수는 apply 입니다.

이 함수를 사용하면 행별로 응답자의 평균을 자동으로 계산해서 변수를 만들 수 있습니다.

함수 식은) 이 되겠습니다.

이것을 조금 더 풀어서 보면,

[,열번호:열번호] : 꼭 대괄호 넣고 바로 , 를 넣어야 합니다. 그래야 행을 무시하고 열만 참조하겠다는 뜻이 됩니다.

,1, : 행을 기준으로 지정 (2로 하면 열이 기준으로 됩니다)

mean: 지정한 값들의 평균값을 계산

그리고 $를 사용하면, 데이터셋에 들어있는 열을 확인할 수도 있고 새로운 열을 만들 수도 있습니다.

저는 study를 사용했으니 study$ 가 되겠네요.

이 둘을 조합하여 변수를 생성하면

데이터셋$새로운변수이름 <- apply(데이터셋[,열번호:열번호],1,mean)

이렇게 되면 데이터셋 마지막 열에 자동 추가됩니다.

-----------------------------------------------------------------------------------------------------------------------------

실습을 해보겠습니다.

저는 학업열의라는 변수를 만들어보려 합니다.

학업열의의 조사문항을 코드북에서 코드를 확인해보면 YINT2A01 부터 YINT2A16

총 16개 문항으로 조사되었습니다.

그럼 이 조사항목들이 몇 번째 행부터 몇 번째 행에 위치하는지 확인해야겠네요.

살짝 귀찮은 작업이긴 합니다.. 아직까진 행 번호를 빠르게 찾는 방법을 모르겠어서...ㅎㅎ 직접 찾고 있네요..ㅠ

[그림 4] 조사문항 찾기 1

빨간색 동그라미 부분을 누르면 전체 변수를 확인할 수 있습니다.

[그림 5] 조사문항 찾기 2

52번째부터 있네요...^^

학업열의 문항 16개는 52번째 부터 67번째로 나오네요 ㅎ

$로 새로운 열을 만들고 apply 함수에 맞게 넣으면

[그림 6] 변수 생성 코드

변수가 잘 만들어졌다면, 다음과 같이 새로운 열이 추가된 것을 확인할 수 있습니다.

[그림 6] 변수 생성 확인

결측 값이 있는 행은 결측 값(NA)으로NA 나타나고, 나머지는 각 행의 학업열의 문항의 평균을 계산해서 새로운 열이 만들어졌습니다.

다음장에서는 역문항이 포함된 변수 만드는 법에 대해 알아보도록 하겠습니다.

감사합니다!