当某个子组因子为0时,按组和子组计算行数

use*_*670 1 sas

我知道如何通过proc freq或sql 计算组和子组号.我的问题是当子组中的某些因素丢失时,我仍然希望将缺失因子显示为0.我该怎么做?例如,数据集是:

group1 group2
1      A
1      A
1      A
1      A
2      A
2      B
2      B
Run Code Online (Sandbox Code Playgroud)

我想要一个结果:

group1 group2 N
1      A      4
1      B      0
2      A      1
2      B      2
Run Code Online (Sandbox Code Playgroud)

如果我只使用默认的SAS设置,它通常会显示为

group1 group2 N
1      A      4
2      A      1
2      B      2
Run Code Online (Sandbox Code Playgroud)

但是我仍然希望结果中的第二行告诉我该类别中有0个观察值.

Ree*_*eza 6

在proc freq中使用SPARSE选项.将其视为GROUP1和GROUP2中所有选项之间的交叉连接.

data have;
input group1 group2 $;
cards;
1 A
1 A
1 A
1 A
2 A
2 B
2 B
;
run;

proc freq data=have;
table group1*group2/out=want sparse;
run;

proc print data=want;
run;
Run Code Online (Sandbox Code Playgroud)