SAS proc Freq& gchart显示附加值的频率/条

时间:2014-03-30 18:35:16

标签: sas gchart

这可能是一个奇怪的问题。对于许多问题,我有一个包含同意,中立,不同意......等数据的数据集。没有那么多的观察,所以对于某些问题,一个或多个选项的频率为0,说中性。当我运行proc freq时,由于中性显示在该变量中,因此该表不包含中性行。我最终得到了行数不同的表。我想知道是否有选项显示这0个频率行。我还需要为同一个数据集运行proc gchart,我会遇到同样的问题,因为它有不同的数量。请帮帮我。谢谢!

1 个答案:

答案 0 :(得分:2)

这取决于您运行PROC FREQ的确切程度。它有sparse选项,告诉它在创建输出数据集时为表中的每个逻辑单元创建一个值;通常情况下,如果在交叉表中有一个缺少值(或零)的单元格,如果将其输出到数据集(垂直,即x和y轴值的每个组合都放在一行中),那么这些行是离开了。稀疏确保不会发生;并且在更大的(n维)交叉表中,它为每个变量的每个可能组合创建行,甚至是在数据中不会出现的行。

但是,如果您只是在做

proc freq data=mydata;
tables myvar;
run;

这对你没有帮助,因为SAS没有什么可以继续找出应该在那里的东西。

为此,您必须使用class变量过程。 Proc Tabulate是此类过程之一,其语法(类似)与Proc Freq类似。您需要在proc语句上使用CLASSDATA,或在表语句中使用PRINTMISS。在前一种情况下,您不需要使用格式,我不相信。在后一种情况下(PRINTMISS),您需要为变量创建一个格式(如果您还没有),其中包含您要显示的所有级别的数据(即使它&# 39; s只是一种标识格式,例如将字符串格式化为相同的字符串),并在proc语句中指定PRELOADFMT。有关详细信息,请参阅this man page