2つのデータセットがあります。彼らの主題は同じグループですが、異なる研究者によって異なる "標本"が描かれます。したがって、2つのデータセットの頻度を比較するSAS
私は
変数が、彼らは同じことを意味しても、
- 変数は、データセットの異なる場所にあり、異なる名前が付けられ、マッチ(両方のサンプルで、すなわちピーター・スミス)を識別することはできません
ここでは、2つのデータセットを比較して、全体としてどれほど似ているかを確認したいと思います。私は同じ意味を持っていることが分かっている変数の周波数出力を比較することを考えました。
これまでのところ、変数の組み合わせごとにすべてのステップを実行する必要があったので、私のソリューションは私の目では面倒です。
さらに洗練された/効率的なソリューションがありますか?
数値変数の平均、中央値、百分位数を比較したいと思います。
ありがとうございます!
ゲリット
これは私の現在の解決策の例です。私は元のファイルでは、どの観測値がID変数から伝えられないのかとは違って、観測値にはすべて異なる名前を付けました。
data have1;
input Name $ road means goal ;
datalines;
adam 1 3 0
bob 1 1 1
clint 2 2 0
dean 3 1 1
eric 2 1 0
flint 1 2 1
gerald 3 1 1
;
run;
data have2;
input Name $ street finish other purpose ;
datalines;
harry 2 1 0 3
idefix 1 0 0 2
john 3 1 1 2
kelvin 1 0 2 2
liam 2 1 2 1
max 3 1 2 1
nero 2 0 1 3
ovid 3 0 2 3
;
run;
proc freq data=have1;
tables road/out= fhave1road
(rename=(percent=pct1 count=count1));
quit;
proc freq data=have2;
tables street/out= fhave2street
(rename=(street = road percent=pct2 count=count2));
quit;
data comb;
merge fhave1road fhave2street;
by road;
diffpct = pct1 - pct2;
diffct = count1 - count2;
run;
proc print data = comb;
var road count1 count2 diffct pct1 pct2 diffpct;
quit;
proc means data=have1;
var road;
output out=mhave1road ;
quit;
proc sort data=mhave1road;
by _STAT_;
quit;
proc means data=have2;
var street;
output out=mhave2street ;
quit;
proc sort data=mhave2street;
by _STAT_;
quit;
data mcomb (keep=_STAT_ road street diff) ;
merge mhave1road mhave2street;
by _STAT_;
diff = road-street;
run;
proc print data = mcomb;
quit;
は無関係なデータセットをマージしないでください!あなたにとって幸運なことに、観測数は同じで統計は意味がありますが、作成するデータセットは駄目です。 –