▶ 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

+ Recent posts