如何在 SAS 中堆叠多个频率表
How do I stack many frequency tables in SAS
我有一个包含大约 800 个观测值的数据集。我想获得 14 个变量的频率。我想通过形状获得这些变量的频率(一个例子)。有3种不同的形状。
这样做一次的例子显然是:
触发频率; tables颜色;按形状;运行;
但是,我不想要42频率tables。我想要一个频率 table,它在左侧有 14 个变量的列表。顶部标题将具有 shape1 shape2 shape3 以及它们下方每个变量的频率。
看起来我按百分比调换了数据集,然后将它们堆叠在一起。
我有几组组合需要这样做。我有大约 5 个不同的变量组,我需要使用 3 个不同的组来制作 tables(需要大约 15 tables)。我讨论的第一个例子就是此类群体的一个例子。
如有任何帮助,我们将不胜感激!
使用 proc means
和 proc 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;
我有一个包含大约 800 个观测值的数据集。我想获得 14 个变量的频率。我想通过形状获得这些变量的频率(一个例子)。有3种不同的形状。
这样做一次的例子显然是: 触发频率; tables颜色;按形状;运行;
但是,我不想要42频率tables。我想要一个频率 table,它在左侧有 14 个变量的列表。顶部标题将具有 shape1 shape2 shape3 以及它们下方每个变量的频率。 看起来我按百分比调换了数据集,然后将它们堆叠在一起。
我有几组组合需要这样做。我有大约 5 个不同的变量组,我需要使用 3 个不同的组来制作 tables(需要大约 15 tables)。我讨论的第一个例子就是此类群体的一个例子。
如有任何帮助,我们将不胜感激!
使用 proc means
和 proc 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;