서로 다른 유형의 플롯과 함께 플롯을 그리기 위해서는 ODS LAYOUT 문을 사용할 수 있습니다.
● ODS LAYOUT START
ODS LAYOUT은 ODS LAYOUT START 문을 사용하여 시작합니다.
# SAS
ODS LAYOUT START ROWS= COLUMNS=
<WIDTH= HEIGHT= ROW_HEIGHT=
COLUMN_HEIGHT=ROW_GUTTER=
COLUMN_GUTTER=options>;
ODS LAYOUT END;
SAS에서는 같은 방식으로 인수에서 ROWS= 및 COLUMNS= 옵션을 사용하여 새 창의 구조를 지정합니다. 구조를 지정하면 원하는 플롯으로 창을 채울 수 있습니다.
ODS LAYOUT 문에는 다양한 옵션이 있습니다. 예를 들어, ROW_HEIGHT를 사용할 수 있습니다.
COLUMN_HEIGHT를 사용하여 생성 중인 플롯의 높이를 지정합니다. ROW_GUTTER를 사용하고
COLUMN_GUTTER를 사용하여 연속 플롯 사이의 공간을 줄이거 나 늘리는 등의 작업을 수행합니다.
ODS LAYOUT을 종료하기 위해서는 ODS LAYOUT END 문을 사용해야 합니다.
R에서 PAR 기능을 끄는 것과 유사한 기본 플로팅 요구 사항에 따릅니다.
● ODS REGION
ODS LAYOUT START 문에서 ODS REGION 문을 사용할 수 있습니다.
ODS REGION은 아래의 SYNTAX를 각 플롯의 위치를 지정할 수 있습니다.
# SAS
ODS REGION ROW= COLUMN=;
ods region row=1 column=3;
proc sgplot data=sp4r.cars;
hbox mpg_city;
run;
위의 예제는 1행 3열에 mpg_city에 대한 수평 상자 플롯을 맞추는 예제입니다.
자세히 설명하자면, ODS REGION은 SAS에게 창에서 플롯을 어디에 넣을지 정확히 알려줍니다.
ODS REGION을 사용하지 않으면 그냥 연속적으로 플롯이 지정됩니다. 연속적인 플롯은 왼쪽 상단 모서리에서 시작하여 오른쪽 하단까지 채워집니다.
SGPANEL은 하나 이상의 범주형 변수에 대한 패널을 생성하고, 각 셀에 여러 가지 형태의 도표를 겹쳐서 나타낼 수 있습니다.
SGPANEL문은 변수의 유형에 따라 플롯 패널을 만드는 데 사용됩니다.
SGPANEL문은 동일한 유형의 플롯만 결합합니다. 또한, 각 플롯에 대한 제목을 자동으로 생성합니다.
proc sgpanel data=sashelp.cars;
panelby origin / columns=3;
histogram mpg_city;
run;
예를 들어 설명하면, sashelp 에 있는 cars 데이터 세트에 mpg_city 변수에 대한 히스토그램이 있고, 데이터 세트의 모든 관측치에 대한 히스토그램이 있습니다. 이걸 분할하여 원점 변수의 각 수준에 대한 히스토그램을 만들 수 있습니다.
PANELBY 문에서 여러 분류 변수(위의 예제서는 Origin으로, Asia, Europe, USA로 구분된 변수입니다.)를 지정할 수 있으며 SAS는 모든 같이 각 변수의 분류 수준으로 구분됩니다.
또한, ROWS 또는 COLUMNS 옵션을 사용해서 플롯의 구조를 지정합니다.
● PROC SGPANEL with Multiple Classification Variables
REG 문을 사용하여 단순 선형 회귀 데이터에 가장 적합한 줄을 추가할 수 있습니다.
X축 변수에는 weight(가중치), Y축 변수에는 (mpg_city)으로 설정하여 선형회귀 직선을 그린다.
그리고 각 플롯의 제목은 분류를 지정합니다. 플롯은 각 변수와 출처 및 유형에 대한 수준을 나타납니다.
proc sgpanel data=sashelp.cars;
panelby origin type / rows=1 columns=4;
reg x=weight y=mpg_city;
run;
이번 파트에서는 변수를 분석하고 요약 통계를 생성하는 네 가지 절차를 소개합니다.
1) PROC CORR
PROC CORR은 상관 행렬을 만듭니다.
PROC CORR의 VAR 문에서 다음 구문과 같이 상관행렬에 추가하려는 모든 변수를 나열합니다.
PROC CORR DATA=SAS-data-set <options>;
VAR variable-1 … variable-n;
RUN;
여기서 상관관계(correlation)을 쉽게 설명하자면, 둘 이상의 변수들이 서로 얼마나 관련이 있는가를 수치적으로 표현한 것입니다.
상관관계 중 가낭 많이 알려진 상관관계는 피어슨(pearson) 상관관계입니다.
피어슨(pearson) 상관관계에 대한 정의를 살펴보면,
피어슨(pearson) 상관계수를 활용하여 변수 간 유의성을 확인할 수 있습니다.
상관계수의 값의 최대값은 1이고 최소값은 -1입니다. 변수 간의 상관계수의 값이 ± 0.7 이상 ~ ± 0.9 미만인 경우에는 상관관계를 갖는다고 할 수 있습니다.
이럴 경우 다중 공선성을 의심할 수 있다고 합니다.
여기서 다중 공선성이란, 회귀분석에서 독립변수들 간에 강한 상관관계가 나타나는 문제로 회귀 분석에서 사용된 모형의 일부 설명 변수가 다른 설명 변수와 상관 정도가 높아 데이터 분석 시 부정적인 영향을 미치는 현상을 의미합니다.
일반적으로 회귀분석에서는 어떤 설명 변수의 영향력을 파악할 때 다른 설명 변수들을 모두 일정하다고 생각하고 검증합니다. 즉, 설명 변수들끼리 서로 독립이라는 가정을 하는 것 입니다.
만약 어느 두 설명 변수가 서로에게 영향을 주고 있다면 둘 중 하나의 영향력을 검증할 때 다른 하나의 영향력을 완벽히 통제할 수 없습니다.
proc corr data=sashelp.cars;
var horsepower weight length;
run;
위에서 두번째 결과는 상관행렬로 [피어슨 상관 계수]를 살펴보면, Horsepower과 Weight 변수 그리고 weight과 length 가 서로 높은 상관 관계를 가지는 것으로 보입니다.
proc corr data=sashelp.cars cov;
var horsepower weight length;
run;
PROC CORR 문에서 COV 옵션을 추가로 입력하면 R의 COV 함수와 동일한 공분산 행렬을 얻습니다.
공분산 행렬이란, 변수들 사이의 공분산을 행렬 형태로 나타낸 것 입니다. 공분산은 2개 변수가 함께 변하는 정도(joint variability)를 측정하는 척도입니다. 두 변수가 있을 때, 한 변수값이 커지면서 다른 변수도 값이 증가하는 등 변수의 변화 경향성이 유사하다면 공분산은 양수입다. 반대로 한 변수값이 커질 때 다른 변수값이 작아지는 반대 경향성을 보인다면 공분산은 음수입니다.
공분산은 이렇게 두 변수의 선형적 관계를 설명하는 지표 중 하나입니다.
2) PROC FREQ
범주형 데이터로 작업할 때 PROC FREQ를 사용하여 빈도 테이블을 만들 수 있습니다.
PROC CORR에서와 같이 VAR 문에서 다음 구문과 같이 TABLES 문을 사용합니다.
PROC FREQ DATA=SAS-data-set <options>;
TABLES variable-1 … variable-n / <options>;
RUN;
예시)
proc freq data=sp4r.cars;
tables origin type;
run;
PROC FREQ문을 통해서 각 변수의 각 수준에 대한 빈도를 얻습니다.
기본적으로 해당 수준의 관찰 백분율과 누적 빈도 및 누적 백분율도 가져옵니다.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.
Early bird rate extended! Save $200 when you sign up by March 31.