在SAS中进行1路RM ANOVA后,如何进行Tukey的HSD事后检测?

时间:2012-04-07 06:48:26

标签: sas glm anova posthoc

我运行以下几行:

DATA abc;  
INPUT AA BB CC DD EE;  
CARDS;  
...  
;  
RUN;

PROC GLM DATA = abc;  
MODEL AA BB CC DD EE = / NOUNI;  
REPEATED conditions 5 (1 2 3 4 5) / PRINTE;  
MEANS / TUKEY ALPHA = 0.05;  
RUN; 

但是MEANS语句适用于类变量(“错误:此效果中只允许使用类变量。” SAS说。)。反过来,我只定义了回答(试验):MODEL AA BB CC DD EE = / NOUNI;。有谁能够帮我?

P.S。
(基本上我的设计在CrossValidated解释。)

1 个答案:

答案 0 :(得分:1)

根据我对SAS的经验,我非常肯定你想要的东西在SAS中并不容易 - 但我相信它是可能的。如果需要,手动确认很容易。

考虑您提供的链接中的数据,我将其读入SAS程序......

DATA raw_lph;
    INPUT idnum cntrl a b c d;
    CARDS;
    20 5.1 12.42 10.1 9.58 8.54
    21 4.07 9.96 14.12 10.79 12.24
    22 3.94 4.92 13.04 15.96 9.37
    25 0.6 3.24 8.94 0.61 3.62
    26 1.72 13.96 2.48 3.44 3.12
    27 0.53 3.36 1.4 4 0.81
    28 0.97 3.88 2.33 3.77 3.31
    31 0.15 4.05 1.45 2.44 1.47
    32 0.58 1.92 2.47 2.33 4.92
    33 1.02 6.03 4.4 4.8 3.88
;  
RUN;

要对它进行更传统的方差分析,你需要转置它,我做了。

DATA transposed_lph;
    SET raw_lph;
    RETAIN idnum;
    ARRAY varnames[5] $ _TEMPORARY_ ('cntrl' 'a' 'b' 'c' 'd');
    ARRAY steps[5] cntrl--d;
    DO i=1 TO 5;
        well=varnames[i];
        pctlph=steps[i];
        OUTPUT;
    END;
    KEEP idnum well pctlph;
RUN;

现在,下面有两个块,一个使用更传统的ANOVA格式,另一个设置为使用REPEATED语句。

PROC GLM DATA=transposed_lph;
    CLASS well idnum;
    MODEL pctlph = well idnum well(idnum);
    LSMEANS well /ADJUST=TUKEY E=well(idnum) PDIFF=ALL;
QUIT;

PROC GLM DATA=raw_lph;
    MODEL cntrl--d = /NOUNI;
    REPEATED Well;
QUIT;

处理重复措施的全部意义在于处理主体内的变异,而不是主体之间。第一个模型失败,因为它没有错误项,因为我们成功地用三个项来计算模型中的所有方差。这些术语是血液所处的状态,主体是什么,以及嵌套在穹顶内的井的效果 - 或者实质上是每个受试者的每个孔之间的差异 - 也就是在受试者变异中。

如果您查看第一组的输出,您会看到最终得到:

Source                   DF     Type III SS      Mean Square       F    p-value
well                      4     134.5175200      33.6293800        .       .
idnum                     9     487.1931300      54.1325700        .       .
well(idnum)              36     255.2066000       7.0890722        .       .

使用LSMEANS声明,我要求Tukey调整好的方法; E = well(idnum)告诉系统使用well(idnum)作为这些方法的误差项。现在,看看第二个PROC GLM的输出。

Source                  DF    Type III SS    Mean Square   F Value   Pr
Well                     4    134.5175200     33.6293800      4.74   0.0035
Error(Well)             36    255.2066000      7.0890722

如您所见,重复的度量标识了相同的错误陈述。但是,据我所知,如果不使用CLASS语句,则无法从SAS中的任何建模过程中获取方法。因此,解决这个问题的一种方法是重构我尝试过的模型并“游戏系统”。或者,您可以手动计算Tukey HSD。可能有一个R包比SAS更好地处理它。

为了它的价值,我在Minitab上学习了建模,它似乎实际上很好地处理了建模,所以它可能值得一看。

HTH!