2

我有一小段 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,如果患者服用安慰剂,则为 1。第三列是 0 - 2 的等级,0 表示流感症状没有改善,2 表示有很大改善。

4

1 回答 1

4

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

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

如果您更仔细地查看日志,您应该会看到没有创建统计信息的 SAS NOTE。

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

于 2012-10-14T15:27:12.630 回答