0

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

4

1 回答 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 回答