▶ proc compare
서로 비슷한 두개의 데이터셋에 대해 차이를 비교해 볼 수 있다.
두 데이터가 같은지 다른지에 대해 나타내준다.
설명보다는 예제를 통한 이해가 쉬울 것 같아서 예를 들어보자.
data a1;
input x @@;
cards;
1 2 3 4 5
;
run;
data a2;
input x0 @@;
cards;
1 6 3 4 7 10
;
run;
a1과 a2 관측치의 수가 동일한 경우
: 다른 변수만 찾아서 출력, 두 값을 비교해준다.
a1의 관측치가 a2보다 많은 경우
: 다른 관측치의 수를 보여주고 a1과 a2의 관측치의 수가 동일한 곳까지만 비교
a1의 관측치가 a2보다 적은 경우
: 위의 경우와 동일.
* 관측치의 수가 다른 경우는 결과값에 어느 테이블에만 있는 관측치인지 나타내준다.
proc compare의 결과
proc compare data =a1 compare= a2;
var x;
with x0;
run;
데이터셋 요약
데이터셋 생성일 수정일 변수 관측치
WORK.A1 11SEP12:15:30:51 11SEP12:15:30:51 1 5
WORK.A2 11SEP12:15:30:51 11SEP12:15:30:51 1 6
변수 요약
공통적으로 가지고 있는 변수의 개수: 0.
'WORK.A1'에는 있지만 'WORK.A2'에는 없는 변수의 개수: 1.
'WORK.A2'에는 있지만 'WORK.A1'에는 없는 변수의 개수: 1.
VAR 문장 변수의 개수: 1.
WITH 문장 변수의 개수: 1.
관측치 요약
관측치 기본 비교
첫번째 관측치 1 1
첫번째 불일치 2 2
마지막 불일치 5 5
마지막 일치 5 5
마지막 관측치 . 6
동일한 관측치의 개수: 5.
'WORK.A2'에는 있지만 'WORK.A1'에는 없는 관측치의 개수: 1.
'WORK.A1'로부터 읽은 관측치의 총 개수: 5.
'WORK.A2'로부터 읽은 관측치의 총 개수: 6.
일부 변수가 동일하지 않은 관측치의 개수: 2.
모든 변수가 동일한 관측치의 개수: 3.
값 비교 요약
모든 관측치가 같은 변수의 수: 0.
일부의 관측치가 같은 변수의 수: 1.
다르게 비교된 값의 총 개수: 2.
차이의 최대값: 4.
모두 다른 값을 지닌 변수
변수 유형 길이 Compare 길이 Ndif MaxDif
x NUM 8 x0 8 2 4.000
* proc compare 옵션들;
var variables;
with variables;
ID [decending] variable [notsorted];
by variables;
옵션들1
data = ----->비교하고자 하는 sas데이터셋
compare= -->비교대상으로사용될 sas데이터셋
out= ------->두데이터셋의 차이에 관한 정보를 sas데이터셋보관
var variables
비교하고자 하는 2개의 데이터셋에 공통적으로 들어있어 비교하는데 사용될 변수명을 지정한다.
이 옵션이 없다면 by, ID문에 사용되는 변수 외의 모든 변수에 대해 비교하게 된다.
with variables
이는 비교하고자 하는 기초 데이터셋과 비교 대상 데이터셋의 변수명이 다를 경우 비교대상의 변수명을 지정한다.
예 var sex q01;with gender q001;
sex gender, q01 q001을 비교한다.
id variables
기초 데이터셋과 비교대상 데이터셋의 관측칠르 대응시키는데 필요한 변수를 지정한다.
by variables
특정변수의 각 수준별로 비교를 할때 사용한다. 이때 비교대상이 되는 데이터셋은 by뒤의 변수로 정렬되어 있어야한다.
출처: http://blog.naver.com/hur_yoon/
'IT > SQL' 카테고리의 다른 글
[SAS] proc freq (0) | 2017.03.23 |
---|---|
[SAS] proc transpose (0) | 2017.03.23 |
[SAS] proc sort (0) | 2017.03.23 |
[SAS] Retain 문 (0) | 2017.03.23 |
[SAS] Format 문 / Informat 문 (0) | 2017.03.23 |
[SAS] do ~ end, stop 명령문 (0) | 2017.03.23 |
[SAS] If ~ then / else (0) | 2017.03.23 |