从SAS中的多个列计数

时间:2014-07-02 22:06:22

标签: database sas

我有24列列出代码(code1,code2,code3等)。我需要计算所有24列(从最大到最小)的代码总频率。我尝试为每个文件创建单独的文件然后执行proc freq,但它只使用了最后输入的文件。

1 个答案:

答案 0 :(得分:2)

有许多方法可以让这只野兽受伤。我会在数据步骤中使用一个数组来创建24列中的一列。然后用它做你想做的事(PROC FREQ,或其他)。

这假设您的24列被命名为col1,col2,...,col24。

data want;
set have;
array cols[24] col1 - col24; /*here list your columns*/
format code $32.; /*change size as needed*/

do i=1 to 24;
   code = cols[i];
   output;
end;

drop i col1 - col24; /*put your unneeded column names here*/
run;