2019年7月16日火曜日

【PROC COMPARE入門】データセット間の変数値の比較





データセット間の変数値を比較する「PROC COMPARE」をご紹介。




構文 1

PROC COMPARE  BASE=データセット1  COMPARE=データセット2 ;
RUN ;

  • 「データセット1」と「データセット2」を比較します。
  • 上から順に同じ位置にあるオブザベーション同士を比較します。
  • 同じ変数名同士を比較します。


イメージ(黄色部分が比較対象)






構文 2

PROC COMPARE  BASE=データセット1  COMPARE=データセット2 ;
      ID   ID変数1   ID変数2 … ;
RUN ;


  • 「データセット1」と「データセット2」を比較します。
  • ID変数の値が共通するオブザベーション同士を比較します。
  • 同じ変数名同士を比較します。


変数XをIDとしたときのイメージ(黄色部分が比較対象)








* sample data ;
data dt1;
input x y$ z;
cards;
1 aa 10
2 bb 20
4 cc 30
;

data dt2;
input x y$ z;
cards;
1 aa 10
2 bb 20
3 cc 30
4 dd 40
;

* proc compare ; 
proc compare base=dt1 compare=dt2;
    id x;
run;




出力結果

1. 「データセットの要約レポート」


各データセットの「変数の数」「OBSの数」「共通変数の数」「ID変数の数」などが表示されます。



2. 「オブザベーションの要約レポート」「値の比較の要約レポート」


「共通するOBSの数」「共通しないOBSの数」「比較変数のいずれかが等しくないOBSの数」「すべての比較変数が同等なOBSの数」などなどが表示されます。



3. 変数値の比較結果


実際の不一致箇所が表示されます。



出力結果の確認の流れ(最低限)

  • 「データセットの要約レポート」で、狙い通りのOBS/変数が比較対象になってるか確認。
  • 「オブザベーションの要約レポート」で不一致となったOBSがあるか確認
  • 不一致のOBSがある場合は「変数値の比較結果」から実際の不一致箇所を確認



0 件のコメント:

コメントを投稿