在 R 中将 SAS 语法转换为 lmer

Converting SAS syntax to lmer in R

您好,我对 运行 R 中的混合模型比较陌生。但我有在 SAS Proc Mixed 和 SPSS Mixed 中使用它们的经验。我有以下代码,我希望得到一些帮助,将其翻译为在 R 中用于 lmer:

PROC MIXED COVTEST; 
CLASS ACTOR PARTNER DYAD GROUP; 
MODEL LEAD = /S DDFM=SATTERTH NOTEST; 
RANDOM INTERCEPT /TYPE=VC SUB=ACTOR; 
RANDOM INTERCEPT /TYPE=VC SUB=PARTNER; 
RANDOM INTERCEPT / TYPE=VC SUB=GROUP; 
REPEATED /TYPE=CS SUB=DYAD;

或者,SPSS 中的代码为:

MIXED
LEAD BY GROUP
/FIXED =
/PRINT = SOLUTION TESTCOV
/RANDOM INTERCEPT | SUBJECT(GROUP) COVTYPE(VC) .
/RANDOM INTERCEPT | SUBJECT(ACTOR) COVTYPE(VC)
/RANDOM INTERCEPT | SUBJECT(PARTNER) COVTYPE(VC)
/RANDOM INTERCEPT | SUBJECT(DYAD) COVTYPE(VC) .

我认为这在 Stack Overflow, but I'll answer it anyway. It looks like you're trying to fit Kenny's Social Relations Model 上更切合主题,我对此有一些经验。

简短的回答是目前无法在 lme4 中完成此操作。原因是 SAS 脚本涉及 "R-side covariance structures"(即调用 REPEATED 语句),但目前 lme4 不支持这些。作为替代方案,您可以查看 TripleR 包,看看它是否符合您的需要。

作为最后的评论,我认为您的 SAS 和 SPSS 模型并不等同。 SAS 模型(如果我没记错所有语法的话)使用 REPEATED 语句来允许残差在二元组之间变化。但是 SPSS 模型反而具有随机二元效应(通过 RANDOM 语句),我认为这在统计上不等价。不过,我不是 100% 确定,因为有时使用 RANDOMREPEATED 语句可以获得相同的结果。