将宏变量设置为来自proc freq的频率计数

时间:2015-08-03 14:42:01

标签: sas

是否可以创建一个宏变量,该变量设置为proc freq生成的频率变量?我正在尝试创建一个变量,该变量将等于每个姓氏出现在数据集中的次数。例如,Smithe可能会出现3次,而Jackson只出现2次。我希望捕获该值并使用它。

1 个答案:

答案 0 :(得分:3)

您可以在以下数据步骤中使用call symput(使用proc freq和/或使用/out=ods output输出到数据集后),或者您可以避免proc freq并通过proc sql通过select into执行频率,这将创建一个宏变量。

proc sql;
  select sex, count(1) 
    into :sex separated by ' ',
         :count separated by ' '
    from sashelp.class
    group by sex;
quit;

这使得近似于一对宏变量数组的东西(一个具有值为1的值)。如果要使用名称(或其他)作为宏变量名称,请使用第一个选项(后跟带有call symput的datastep),因为这样可以命名宏变量。