SAS双向计数表:如何生成?

问题描述:

我一直在使用proc freq命令来创建计数的双向表。我有两列变量,并且想要创建一个矩阵,使得列A中的变量按行分组,并且列B中的变量变为列。列的名称是来自列B的变量。如何产生一个像这样的SAS数据集,其中表中的条目是列A /列B对的计数?SAS双向计数表:如何生成?

Don,

如果我正确理解你的问题,那么下面的例子可能工作。将存在一个问题,即column_a和column_b中不存在的组合会显示为缺失值,但如果问题重大,则可以在数据集中将它们重新定义为零。

proc freq data=dsn_in; 
    tables column_a * column_b/
     out=dsn_out; 

proc sort data=dsn_out; 
    by column_a column_b; 
proc transpose data=dsn_out out=dsn_transpose(drop=_label_ _name_); 
    by column_a; 
    id column_b; 
    var count; 
run;