我一直在使用 proc freq 命令来创建一个双向计数表。我有两列变量,并且想要制作一个矩阵,使得 A 列中的变量按行分组,B 列中的变量成为列。列的名称是来自 B 列的变量。如何生成这样的 SAS 数据集,其中表中的条目是 A 列/B 列配对的计数?
问问题
1173 次
1 回答
1
大学教师,
如果我正确理解了您的问题,那么下面的示例可能会起作用。存在一个问题,不存在的 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;
于 2012-05-21T21:03:28.077 回答