변수 축약(aggregation)

초보자를 위한 SAS 통계분석 강좌의 맛보기 강의입니다.

강의 대본 보기

이번 시간에는 DATA aggregation을 해보도록 하겠습니다. aggregation이라는 것은 예를 들어 DATA를 먼저 보여드릴게요. 이번 시간에 사용할 데이터는 aggregation.csv라는 데이터입니다. 데이터 먼저 보고 설명 드리도록 하겠습니다. aggregation라는것은 우리나라 말로 제가 어떻게 옮겨야 할지 몰라서 원어를 그대로 사용했으니까 양해 부탁드리고요. 우리가 하고 싶은 것은 한마디로 세 반의 반 평균을 내보고 싶어요. 어떻게 하면 되죠? 이 학급 위주로 score를 평균을 하면 되겠죠. 그렇게 하면 반 평균이 구해지겠죠. 이런 식으로 데이터가 그룹과 그 안에 케이스가 다 같이 있을 때 어떤 특정 그룹 단위로 묶고자 할 때 묶을 때 평균으로 묶을 수도 있고 대표 값으로 묶을 수도 있고 미디어 값으로 묶을 수도 있겠죠. 이런 식으로 묶고자 할 때 사용할 수 있는게 aggregation이라는 기법입니다. 지금부터 사용할 텐데 먼저 데이터 실습 파일 실습 파일이 여러분들의 공유파일 안에 있는지 확인을 부탁드립니다. 그 안에 있는지 확인을 부탁드리고 파일을 먼저 불러오겠습니다. FILENAME 한 다음에 aggr해서 aggregation 이라는 파일을 파일 이름을 지정한 다음에 PROC IMPORT라는 프로시저를 통해서 불러오도록 하겠습니다. aggr DBMS CSV 하고 OUT aggregation 이라고 하는 것은 WORK Library WORK Library에 저장이 되죠. 여기에 저장이 됩니다. WORK Library에 저장이 됩니다. 제가 이미 한 번 생성을 해봤기 때문에 미리 있고요. 여러분들께선 없을 겁니다. NAMES yes 하시고 이름 여러분들의 csv파일 첫 번째의 변수이름이 있으면 yes를 하시면 됩니다. 실행을 해보도록 하겠습니다. 실행 DATA가 이렇게 불러와졌어요. 아까전 csv에서 봤던 DATA가 그대로 있죠. 그걸 기준으로 학급별로 평균 그리고 수도 요약할 수가 있어요. 이걸 미디어 값으로 학급의 대표 값으로 사용할 수도 있어요. CODE를 보시고 이게 약간 까다로운데 이해를 하시고 보면 별것 아닙니다. 제가 class 기준으로 DATA를 aggregation 할 거예요. 이때 사용할 수 있는 기준변인이 한마디로 학급을 나타내는 변수가 되겠죠. 그때 이 class class라는 하위 함수에 class 학급이라는 변수이름을 매칭시켜주시면 되고 어떤 변수를 aggregate 시킬 건지 관련된 변수 score를 입력해 주시면 됩니다. 그다음 여기에서 tables라는 명령어를 통해서 이 tabulate은 테이블을 만드는 그런 함수예요. 지금 데이터를 따로 뽑을 거기 때문에 그렇게 aggregation을 하는데 많이 사용이 되는 그런 합수입니다. tables에서 어떻게 table을 만들거냐라는 거예요. class라는 변수는 이 변수를 기준으로 해서 변수를 두고 콤마하고 score score라는 변수가 합쳐지는 거죠. 우리가 평균이나 이런 것으로 합쳐지는 거죠. 여기 별표 한 다음 괄호 열고 mean이 있어요. mean이라는 것은 한마디로 평균 평균을 계산한 함수예요. SAS에서 평균을 구하고 sum은 뭐죠? 전체 합을 구하라는 함수예요. 내장함수 sum n은 뭐냐하면 score의 몇 개의 몇 명의 학생들이 포함되어 있는지 그 개수를 세라는 겁니다. 이 내장 함수를 각각 세 개를 입력을 했어요. score라는 변수가 class 기준으로 aggregate되면서 동시에 score의 평균과 총합과 class에 포함된 학생 수를 계산할 겁니다. 이렇게 생성된 파일은 out이라는 명령어를 통해서 WORK라는 Library에 출력을 할 수 있어요. 여기에서 필요 없는 변수도 만들어져요. 사용하지 않을 변수 page라는 변수도 만들어지고 type이라는 변수도 만들어지고 table이라는 변수도 만들어지는 데 이건 필요가 없기 때문에 괄호 열고 drop이라는 명령어를 통해서 drop=하면서 제외시킬 변수를 차례차례 입력해 주시면 됩니다. 실제로 활용하실 때는 이 템플릿 그대로 가져가시면서 이것만 바꿔주시면 되겠죠. 이 안에 기준변수가 뭔지 내가 aggregate 하고 싶은 변수가 뭔지 그리고 남길 변수 다 입력해 주시고 aggregate 할 변수를 어떤 식으로 출력할 건지 표시해 주시면 됩니다. 이렇게 해서 한 번 실행을 해 볼게요. 실행하면 table을 만들어줘요. 사실 여기에 관심 있다라기 보다는 OUTPUT DATA 클릭해보시면 출력할 DATA에 대해서도 보여주고 있습니다. 보시면 class별로 score_ 다음에 Mean 학급 학생들의 평균 점수를 보여주고 있고 그리고 전체점수의 합 각각 속한 학생들의 전체점수의 합을 보여주고 있고 score_N이라는 것은 전체 학생의 수를 보여주고 있어요. 이런 식으로 DATA를 요약했습니다. 이렇게 요약된 게 WORK라는 Library안에 aggregate AGGRATED라는 라이브러리 안에 내재가 되어있습니다. 여러분들이 앞으로 이걸 가지고 작업하실 때는 이 파일을 불러가지고 활용을 하시면 되겠죠. 이 정도로 데이터를 축약 aggregation 하는 방법에 대해서 실습을 해보았습니다.

이 강좌의 맛보기 강의

초보자를 위한 SAS 통계분석
초보자를 위한 SAS 통계분석강좌 자세히 보기