我试图使用两种不同的方法找到不同聚合水平下从前到后的调查回复的平均分数变化。在称为"原始方法"的方法1中,我计算预分数的平均值和职位分数的平均值,然后取差异。在方法2" Genmod方法",我使用pre和post作为分类变量并获得交互项的估计(stage2 * rso)。为什么方法2的估算值与方法1中得分的平均变化不匹配?数据集具有针对每个患者(empi)的多个前置和帖子。这可能是一个非常简单的问题,但我需要一些理解。继承我的数据集和代码:
empi Provider RSO SCORE STAGE
1001 A X 16.5 PRE
1001 A X 22.2 POST
1001 A X 14.3 PRE
1001 A X 23.4 POST
111 A X 25.6 PRE
1002 B X 32.3 PRE
1002 B X 12 POST
1001 A X 24.3 PRE
1002 B X 15.6 PRE
1002 B X 23.7 POST
112 A X 10.2 PRE
1234 C Y 13.5 PRE
1234 C Y 34.2 POST
1234 C Y 12.3 PRE
/** Method 1 **/
PROC SQL;
CREATE TABLE RSOSCORES AS
SELECT stage2,
RSO,
AVG(SCORE) AS AVG
FROM TEST1
GROUP BY stage2,
RSO;
QUIT;
/** Method 2 **/
proc genmod data=TEST1;
class empi rso stage2;
model SCORE = stage2 rso stage2*rso;
repeated subject = empi/ type=un corrw;
ods output GEEEmpPEst = myGEE_PEs;
run;