SAS - 산점도와 히스토그램
descriptive analysis에서 변수별로 기본적으로 해보는 것이 바로 산점도와 히스토그램이라고 할 수 있습니다. 산점도는 두 변수의 관계를 파악할 때 쓰이며, 히스토그램은 한 변수의 분포를 알아보기 위해 쓰입니다. 이번 포스팅에서는 SAS로 산점도와 히스토그램을 그리는 법을 정리해보았습니다.
기본 산점도
proc gplot data=data;
plot var1*var2;
run;
- 기본 산점도는 위와 같이 간단하게 구할 수 있습니다. 근데 분석을 하다보면, 산점도를 그려도 두 변수의 관계가 확실히 보이지 않을 때가 있습니다. 이 경우에는 선형 회귀 선을 함께 그림으로써 그 경향성을 더욱 잘 파악할 수 있는데요. 링크 에는 산점도와 함께 선형회귀선을 그리는 코드를 보여주고 있습니다.
산점도 with 선형회귀선
ods graphics off;
proc reg data=data;
model y= x;
ods output ParameterEstimates=PE;
run;
data _null_;
set PE;
if _n_ = 1 then call symput('Int', put(estimate, BEST6.));
else call symput('Slope', put(estimate, BEST6.));
run;
title 'y*x';
proc sgplot data=data noautolegend;
reg y=y x=x;
inset "Intercept = &Int" "Slope = &Slope" /
border title="Parameter Estimates" position=topleft;
run;
- 코드를 정리하면 위와 같은데요. 선형회귀분석의 결과로 나온 파라미터들을 임시 데이터셋에 저장해놓고 이를 매크로변수에 저장하여 산점도를 그릴 때 불러오는 방식입니다. 만약 추정된 파라미터 값이 굳이 필요없으면 마지막 proc sgplot 만 실행하면 되고, reg y=y x=x; 라인만 추가하면 선형회귀선이 산점도에 나타나게 됩니다.
히스토그램 및 밀도함수(density plot)
- 히스토그램과 밀도함수는 아래의 코드로 그릴 수 있습니다. histogram statement와 함께 density statement를 추가하며 적당한 밀도함수를 그려주게 되며, 정규분포 밀도함수를 함께 그려주어 해당 데이터가 정규분포와 얼마나 유사한지를 보여줄 수 있습니다.
proc sgplot data=data;
histogram var_name ;
density var_name / type=normal legendlabel='Normal' lineattrs=(pattern=solid);
density var_name / type=kernel legendlabel='Kernel' lineattrs=(pattern=solid);
keylegend / location=inside position=topright across=1;
xaxis display=(nolabel);
run;
'Tools > SAS' 카테고리의 다른 글
SAS - 표본 추출 (0) | 2017.12.07 |
---|---|
SAS - proc report 의 옵션들 (0) | 2017.09.20 |
SAS - 상관분석 기초 (0) | 2017.06.12 |
SAS - Signed Rank Sum Test (0) | 2017.04.02 |
SAS - Paired Sample에 대한 비모수 검정 (0) | 2017.04.02 |