如何在SAS中堆叠多个频率表

时间:2016-10-07 19:14:10

标签: sas frequency

我有大约800个观测数据集。我想获得14个变量的频率。我想通过形状得到这些变量的频率(一个例子)。有3种不同的形状。

这样做的一个例子显然是: proc freq;桌子颜色;按形状;运行;

但是,我不想要42个频率表。我想要一个频率表,左侧有14个变量列表。顶部标题将具有shape1 shape2 shape3,其下方的每个变量的频率。  看起来我按百分比转换数据集然后将它们叠加在一起。

我有几组需要这样做的组合。我有大约5个不同的变量组,我需要使用3个不同的组来制作表格(需要大约15个表格)。我讨论的第一个例子就是这类小组的一个例子。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

使用proc meansproc transpose。我举个例子。您可以添加更多类别。

proc means data=sashelp.class nway n; 
    class sex age;
    output out=class(drop=_freq_ _type_) n=freq;
run;

proc transpose data=class out=class(drop=_name_) prefix=AGE;
    by sex;
    var freq;
    id age;
run;

data class_sum;
    set class;

    array a(*) age:;
    age_sum = sum(of age:);

    do i = 1 to dim(a);
        a(i) = a(i) / age_sum;
    end;
    drop i;
run;