PROC Freq 函数生成一个包含百分比和变量频率的频率表。有没有办法存储变量的百分比以备后用(比如使用这个值来创建数据集、创建图表)?
答案 0 :(得分:0)
ODS OUTPUT
是您随时想要获取 PROC 结果的朋友。许多 procs,包括 PROC FREQ
,也有内置的输出选项,但通用的是 ODS OUTPUT
。
首先,使用 ODS TRACE
来标识您需要的表的(SAS 内部)名称。
ods trace on;
proc freq data=sashelp.class;
tables age;
run;
ods trace off;
这会产生:
Output Added:
-------------
Name: OneWayFreqs
Label: One-Way Frequencies
Template: Base.Freq.OneWayFreqs
Path: Freq.Table1.OneWayFreqs
-------------
现在您可以将其与 ods output
一起使用:
ods output OneWayFreqs=myfreqdata;
proc freq data=sashelp.class;
tables age;
run;
ods output close; *this is technically not needed, but I like to have it for clarity;
它将创建一个名为 myfreqdata
的表(请说出有用的东西!)。它并不总是“漂亮”;有时您最好在 proc 中使用内置输出选项,因为它们的格式更有用,但通常您可以从中获得一些东西。
答案 1 :(得分:0)
下午好,
听起来您想将 PROC FREQ 的结果输出到 SAS 数据集。这将允许您以后使用它们,无论是用于进一步分析还是可视化。为此,只需将数据集名称传递给 out=
语句后的 table
选项。您会在下面注意到我还使用了 noprint
选项。这避免了不必要的打印表格。
例如
proc freq data=work.dataset noprint;
table var1*var2 / out=work.output_data;
run;
我希望这会有所帮助!