合并没有公共变量的数据集(By)?

时间:2014-03-26 19:10:39

标签: sas

目前我有两个具有相似变量列表的数据集。每个数据集都有一个过程变量。我想比较数据集之间的过程变量的频率。我在两个数据集中都创建了一个标记来标识源数据集,并且要合并但没有公共标识符。如何在不删除任何观察结果的情况下合并数据集?这不仅仅是一个没有Merge函数的简单By,对吗?

目前有:

 Data.a       Data.b 
   pproc    proc1_numb
    70           9
    71          15
    77          24
    80          80
    81          42
    83          71
    86          66
    87          125
    121         159
    125         242

想要输出:

pproc freq
9     1
15    1
24    1
42    1
66    1
70    1
71    2
77    1
80    2
81    1
83    1
86    1
87    1
121   1
125   2
159   1
242   1

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你应该将两个数据集连接成一个并重命名变量。然后你可以使用PROC MEANS来获得频率。像这样:

data all;
  set a
      b(rename=(proc1_numb=pproc));
run;

proc means nway data=all noprint;
  class pproc;
  output out=want(drop=_type_ rename=(_freq_=freq));
run;