我一直在使用proc freq命令来创建双向计数表。我有两列变量,想做一个矩阵,这样 A 列中的变量按行分组,B 列中的变量成为列。列的名称是列 B 中的变量。如何生成这样的 SAS 数据集,其中表中的条目是 A 列/B 列配对的计数?
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;