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

Sas 合并没有公共变量的数据集(按)?,sas,Sas,目前,我有两个具有类似变量列表的数据集。每个数据集都有一个过程变量。我想比较数据集之间过程变量的频率。我在两个数据集中都创建了一个标志来标识源数据集,并打算合并,但没有公共标识符。如何在不删除任何观测值的情况下合并数据集?这不仅仅是一个没有By函数的简单合并,对吗 目前有: Data.a Data.b pproc proc1_numb 70 9 71 15 77 24 80

目前,我有两个具有类似变量列表的数据集。每个数据集都有一个过程变量。我想比较数据集之间过程变量的频率。我在两个数据集中都创建了一个标志来标识源数据集,并打算合并,但没有公共标识符。如何在不删除任何观测值的情况下合并数据集?这不仅仅是一个没有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

如果我正确理解了您的问题,您应该将两个数据集连接成一个并重命名变量。然后,您可以使用PROC方法获取频率。大概是这样的:

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;

使用set语句。我遗漏了什么吗?所以,只需要新的数据集a b?BellevueBob说的话。谢谢@BellevueBob,这似乎解决了问题。我意识到我原来的输出布局不正确。但是,使用data.a和data.b的标志创建了不同的频率计数,因为我确实需要每个数据集的过程X的频率。再次感谢!