如何在 SAS 中比较均值 (µ1 + µ2 + µ3)/3 = (µ3 + µ4)/2:使用 'ESTIMATE' 或 'CONTRAST'?

How to compare means (µ1 + µ2 + µ3)/3 = (µ3 + µ4)/2 in SAS: Use 'ESTIMATE' or 'CONTRAST'?

我正在处理一个包含 5 种零件组装技术的数据集,从每种技术中随机抽取工人样本,以评估工人完成任务所需的时间。我希望将均值与 t-test 进行比较,但我很难获得正确的代码,因为我是 SAS 的新手。

可以通过以下代码找到数据集:

data Ex1;
input technique time @@;
lines;
1 45.6
1 41
1 46.4
1 50.7
1 47.9
1 44.6
2 41
2 49.1
2 49.2
2 54.8
2 45
3 51.7
3 60.1
3 52.6
3 58.6
3 59.8
3 52.6
3 53.8
4 67.5
4 57.7
4 58.2
4 60.6
4 57.3
4 58.3
4 54.8
5 57.1
5 69.6
5 62.7
;
run;

我希望使用 PROC GLM 来检验原假设 (µ1 + µ2 + µ3)/3 = (µ3 + µ4)/2,与这些均值不相等的备选方案相比。我有以下用于此操作的代码,但是当我 运行 它时出现错误:

proc glm data=Ex1;
class technique;
model time=technique/NOINT SOLUTION E;

CONTRAST 'M1+M2+M3=M3+M4' technique 1 1 1 0 0/DIVISOR=3, technique 0 0 1 1 0/DIVISOR=3;
run;

产生以下输出错误:

1          OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 72         
 73         proc glm data=Ex1;
 74         class technique;
 75         model time=technique/NOINT SOLUTION E;
 76         
 77         CONTRAST 'M1+M2+M3=M3+M4' technique 1 1 1 0 0/DIVISOR=3, technique 0 0 1 1 0/DIVISOR=3;
                                                          _______
                                                          22
                                                          76
 NOTE: The previous statement has been deleted.
 ERROR 22-322: Syntax error, expecting one of the following: ;, E, EST, ETYPE, SINGULAR.  
 ERROR 76-322: Syntax error, statement will be ignored.
 78         run;
 
 NOTE: Due to the presence of CLASS variables, an intercept is implicitly fitted.  R-Square has been corrected for the mean.
 79         
 80         OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 92 

这是 ESTIMATE 还是 CONTRAST 问题?

GLM 过程中CONTRAST 没有DIVISOR 选项。

让我们简化您的初始方程式。

完整的 PROC GLM 调用:

proc glm data=Ex1;
  class technique;
  model time=technique/NOINT SOLUTION E;

  ESTIMATE '(M1+M2+M3)/3-(M3+M4)/2' technique 2 2 -1 -3 0 / divisor=6;
  CONTRAST '(M1+M2+M3)/3=(M3+M4)/2' technique 0.33333 0.333333 -0.166667 -0.5 0 / e ;
run;

并输出: