SAS Proc Freq生成无行/列合计双向表及调整分类排序问题咨询
实现代码(两种方案可选)
方案1:基于现有PROC FREQ逻辑调整(适配SAS 9.4及以上版本)
proc freq data = freq_table1 order=descending; table c * x / norow nocol nopercent norowsums nocolsums; title "x"; run;
方案2:PROC TABULATE实现(兼容所有SAS版本,自定义程度更高)
proc tabulate data=freq_table1 format=best12.; class c x / descending; table c, x / box='_'; keylabel n=' '; title "x"; run;
参数说明
- 移除行/列合计:PROC FREQ中新增的
norowsums和nocolsums参数,可直接关闭默认输出的边缘合计项;PROC TABULATE默认不输出合计,只需要指定行、列维度即可得到你需要的纯交叉单元格结构。 - 调整分类顺序为1-0:
order=descending(PROC FREQ)或/ descending(PROC TABULATE的class语句)参数,会按照变量取值的降序排列分类,原本0在前、1在后的默认顺序就会调整为1在前、0在后。
内容的提问来源于stack exchange,提问作者Jean Hu
相关产品推荐
相关产品推荐

