将proc混合转换为lmer - SAS转换为R

时间:2014-12-04 23:56:32

标签: r mixed-models lmer

我想在R中编写以下SAS代码。我知道R语句中的类语句是冗余的(不是必需的)。

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;

我尝试了以下代码,没有运气。

fit< - lmer(conc~(1 | G)+(1 | F)+(1 | K / F)+(1 | kal / G:F:K),sample_1)

具有以下输出。我希望不要为kal或K获得价值。

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

1 个答案:

答案 0 :(得分:2)

您的公式转换为:

conc ~值使用G + F固定效果(K|F)随机斜率[{1}}建模,其KG随机斜率变为(Z|G/F/K) 1}} Z嵌套K嵌套在F中。此外,当您使用G而不是\时,这会转换为::。您的定义中不使用(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)是随机效应的随机斜率和分组变量 - 它是否有用?

检查Klme4的文章和此包中的公式。