我知道如何通过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个观察值.
在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)