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