상세 컨텐츠

본문 제목

[SAS ODA]기술통계분석 클릭으로 끝내기(히스토그램, 박스플롯)

SAS

by 대학원생D군 2023. 3. 6. 07:00

본문

반응형

안녕하세요,

티스토리 첫 포스팅에서 SAS의 무료 프로그램인 SAS OnDemand for Academics(SAS ODA)를 소개해드렸습니다. SAS ODA에 대해서 궁금하신 분들은 아래의 포스팅을 참고하시면 됩니다.

 

SAS ODA 주요 기능 살펴보기

안녕하세요, 티스토리 첫 포스팅에서는 SAS OnDemand for Academics(SAS ODA)에 대해서 간략하게 알아보도록 하겠습니다! 어떤 프로그램을 사용할까? 우선 아래의 외국 포스팅에서 제시된 통계패키지별

paratussemper.tistory.com

그리고 SAS의 PROC MEANS 프로시저를 이용하여 코드를 작성한 후

기술통계분석을 하는 방법을 포스팅했는데 이번 포스팅에서는 힘들게 코드를 작성하지 않고 SAS ODA 기능을 활용해서 몇번의 클릭으로 기술통계분석을 끝내는 방법을 설명드리겠습니다.

 

[SAS]PROC MEANS로 기술통계분석 끝내기(feat. 집단별 분석)

안녕하세요, 이전 포스팅에서 SAS 프로그램을 이용해서 기술통계분석부터 회귀분석까지 한방에 끝낼 수 있는 코드를 소개해드렸습니다. 이번 포스팅에서는 지난번에 소개해드린 매크로의 첫 번

paratussemper.tistory.com

화면 좌측에 보이는 것처럼 작업 및 유틸리티 > 통계량 > 요약통계량을 클릭합니다.

  • 기술통계분석을 하고자 하는 데이터셋을 입력합니다. 이전과 같이 SASHELP.CLASS 데이터셋을 분석해보겠습니다.
  • 분석하고 싶은 변수를 분석변수에, 집단별 분석을 하고 싶은 경우 원하는 집단 변수를 분류변수로 선택합니다. +를 누르면 변수를 선택할 수 있습니다.

다음으로 옵션을 클릭하면 출력을 원하는 통계량을 클릭할 수 있습니다.

  • 기본통계량 : 평균, 표준편차, 최솟값, 최댓값, 중위수, 관측값 수, 결측값
  • 추가통계량 : 표준오차, 분산, 최빈값 범위, 합계, 평균의 신뢰한계, 변동계수, 왜도, 첨도

  • 하단에 보면 도표 옵션이 있는데 각 변수의 히스토그램, 비교상자 도표(박스플롯)를 시각화할 수 있습니다. 히스토그램의 경우 경규 밀도함수 곡선과 커널 밀도함수 추정값을 추정하는 옵션도 있습니다.
  • 그리고 표준편차 및 분산에 사용할 분모를 지정할 수 있습니다. 통계 패키지에 따라서 표준편차와 분산 값이 다른 경우가 있는데 분모를 자유도로 하는지 관측값 수로 하는지에 따라 결과가 달라지기 때문입니다.

다음으로 출력 > 출력 데이터셋 생성을 클릭해보겠습니다. 어떤 기능인지는 아래 결과표를 보면서 설명하겠습니다. 우측에 보시면 클릭 몇번으로 복잡한 코드가 생성된 것을 확인할 수 있습니다. 이제 달리기 버튼을 분석결과를 확인할 수 있습니다.

가장 먼저 출력된 테이블은 기술통계표입니다. 선택한 집단(성별)별로 기술통계량이 출력된 것을 확인할 수 있습니다. 그리고 도표 옵션을 사용해서 히스토그램을 시각화하였습니다. 히스토그램도 성별에 따라 시각화하였기 때문에 성별에 따른 체중 분포의 차이를 분석할 수 있습니다. 

마지막으로 박스플롯입니다. 박스 플롯을 통해서 주요 기술통계량을 한눈에 확인할 수 있습니다. 박스플롯을 제안한 John W. Tukey은 정말 천재인 것같습니다.

그리고 앞서 출력 데이터셋 생성을 클릭했기 때문에 MEANS_STATS라는 데이터셋이 생성되었습니다. 해당 데이터셋에는 평균, 표준편차와 같은 기술통계량이 저장되어 있습니다. 해당 데이터셋이 어떻게 활용될 수 있는지는 다음 포스팅에서 자세히 설명드리겠습니다. 

저는 익숙해서 그럴 수도 있으나 위의 클릭으로 기술통계분석 결과물을 출력하는데까지 1분도 걸리지 않았습니다. 그런데 위의 결과물을 출력하는데 아래와 같이 긴 코드가 사용되었습니다. 즉, 아래와 같이 긴 코드를 짜지 않아도 몇번의 클릭으로 위의 분석결과를 얻을 수 있으니 정말 편리한 기능입니다. 코드에 관심이 있으신 분들은 아래의 코드를 살펴보시면 됩니다.

ods noproctitle;
ods graphics / imagemap=on;

proc means data=SASHELP.CLASS chartype mean std min max median n vardef=df 
		qmethod=os;
	var Weight;
	class Sex;
	output out=work.Means_stats mean=std=min=max=median=n= / autoname;
run;

proc univariate data=SASHELP.CLASS vardef=df noprint;
	var Weight;
	class Sex;
	histogram Weight;
run;

proc sort data=SASHELP.CLASS out=WORK.TempSorted2236;
	by Sex;
run;

proc boxplot data=WORK.TempSorted2236;
	plot (Weight)*Sex / boxstyle=schematic;
run;

proc datasets library=WORK noprint;
	delete TempSorted2236;
run;

이번 포스팅을 끝으로 논문 작성의 첫 걸음인 SAS 프로그램을 사용한 기술통계분석을 마무리하도록 하겠습니다.

 

궁금하신 점은 언제든 댓글로 담겨주세요:)

감사합니다!

☆ 제 코드는 정답이 아니며 틀린 부분이 있을 수 있으니 주의하여 활용하시기 바랍니다.

반응형

관련글 더보기

댓글 영역