PROC Freq函数生成一个频率表,其中包含变量的百分比和频率。有没有一种方法可以存储变量的百分比以供以后使用(比如使用这个值来创建数据集,创建图形(?
ODS OUTPUT
是您想要获取PROC结果的朋友。包括PROC FREQ
在内的许多proc也内置了输出选项,但通用的是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中使用内置的输出选项,因为它们的格式更有用,但通常你可以从中获得一些东西。
下午好,
听起来您想要将PROC FREQ的结果输出到SAS数据集。这将允许您以后使用它们,无论是用于进一步分析还是可视化。要做到这一点,只需在table
语句之后将数据集名称传递给out=
选项。您将在下面注意到,我还使用了noprint
选项。这样可以避免不必要地打印表格。
例如,
proc freq data=work.dataset noprint;
table var1*var2 / out=work.output_data;
run;
我希望这能有所帮助!