将proc mixed转换为lmer-SAS转换为R
我有以下SAS代码,我想在R中编写。我知道class语句在R中是多余的(不是必需的) 我尝试了下面的代码,但没有成功将proc mixed转换为lmer-SAS转换为R,r,mixed-models,lmer,R,Mixed Models,Lmer,我有以下SAS代码,我想在R中编写。我知道class语句在R中是多余的(不是必需的) 我尝试了下面的代码,但没有成功 fit您的公式转换为: conc~值是使用G+F固定效应(K | F)K的随机斜率在G和(Z | G/F/K)上变化的Z的随机斜率在K嵌套在F中。此外,当您使用\而不是:时,这将转换为:(Z|G)+(Z|G:F)+(Z|G:F:K)。您在定义中没有使用0+或-1,因此包含了截取 因此,您的模型转换为:conc~1+G+F+(1+K | F)+(1+Z | G)+(1+Z | G:
fit您的公式转换为:
conc~
值是使用G+F
固定效应(K | F)
K的随机斜率在G
和(Z | G/F/K)上变化的Z
的随机斜率在K
嵌套在F
中。此外,当您使用\
而不是:
时,这将转换为:(Z|G)+(Z|G:F)+(Z|G:F:K)
。您在定义中没有使用0+
或-1
,因此包含了截取
因此,您的模型转换为:conc~1+G+F+(1+K | F)+(1+Z | G)+(1+Z | G:F)+(1+Z | G:F:K)
。这是你想要的吗
可能有问题的是,在您的定义中,K
既是随机斜率,也是随机效应的分组变量——是否出于目的
检查lme4
上的一篇文章以及该软件包中的公式。可能原始模型应该是随机G F K(F)K(G*F*Z)代码>?我现在使用的代码是:fit我正在接近我需要的输出。试试conc~(1 | G)+(1 | F/K)+(kal | G:F:K)
?
proc mixed data=in_data;
class G F K kal;
model conc=;
random G F K(F) kal(G*F*K);
ods output covparms=out.cov_out;
run;
summary(fit)
Random effects:
Groups Name Variance Std.Dev.
G:F:K:kal (Intercept) 1.421e-04 0.011921
F:K (Intercept) 1.326e-05 0.003641
F (Intercept) 6.548e-05 0.008092
kal (Intercept) 9.852e-06 0.003139
K (Intercept) 1.272e-05 0.003567
G (Intercept) 2.165e-03 0.046527
Residual 4.647e-04 0.021557