为什么输出传送系统无法选择我指定的输出?

时间:2012-10-14 15:04:28

标签: sas

我有一小段SAS 9.3代码,可输出一些卡方统计量。我正在使用ods select ChiSq来仅选择我需要的输出表,但SAS会返回此警告:

  

警告:未创建输出'ChiSq'。确保输出   对象名称,标签或路径拼写正确。另外,验证   适当的程序选项用于产生请求   输出对象。例如,验证NOPRINT选项不是   使用

这是代码:

ods html;

data flu;
input gender treatmentcourse improvement;
datalines;
012
000
110
112
002
002
012
000
000
012
111
011
002
101
002
011
100
100
001
110
110
011
001
010
101
001
000
001
110
100
;

proc format;
value treatmentformat 0 = "minor"
                      1 = "minor"
                      2 = "major";

ods trace on;
ods select ChiSq;
proc freq data = flu order = data;
tables treatmentcourse * improvement /chisq cmh;
format treatmentcourse treatmentformat.;
run;
ods trace off;
ods select all;
ods html close;

我可以清楚地看到ods trace on;的结果是ChiSq表包含在输出中,但SAS忽略ods select语句并显示所有表。

在数据线中,第一列是性别,0表示男性,1表示女性。如果患者服用药物,则第二列为0;如果患者服用安慰剂,则第二列为0。第三列是0-2的等级,0表示​​流感症状没有改善,2表示改善很多。

1 个答案:

答案 0 :(得分:4)

我认为您的问题是您将自定义格式放在错误的变量上。试试这个:

proc freq data = flu order = data;
   tables treatmentcourse * improvement /chisq cmh;
   format improvement treatmentformat.;
run;

如果仔细查看日志,您应该看到SAS注意没有创建统计信息。

更新:为了安全起见,您还应该在run;步骤后添加proc format声明。