Преобразование смешанных процессов в lmer — SAS в R

У меня есть следующий код SAS, который я хотел бы написать в R. Я знаю, что оператор class является избыточным в 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

person Illya-Big    schedule 04.12.2014    source источник
comment
Я приближаюсь к результату, который мне нужен.   -  person Illya-Big    schedule 05.12.2014
comment
Попробуйте conc ~ (1 | G) + (1 | F/K) + (kal| G:F:K) ?   -  person Ben Bolker    schedule 05.12.2014


Ответы (1)


Ваша формула переводится как:

Значение conc ~ моделируется с использованием G + F фиксированных эффектов (K|F) случайного наклона K, меняющегося на G, и (Z|G/F/K) случайного наклона 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). Это то, что вы хотели?

Что может быть проблематичным, так это то, что в вашем определении K является как случайным наклоном, так и группирующей переменной для случайных эффектов - это специально?

См. статью Bates et al. (в печати) на lme4 и формулах в этом пакете.

person Tim    schedule 05.12.2014
comment
может исходная модель должна была быть random G F K(F) K(G*F*Z); ?? - person Ben Bolker; 05.12.2014
comment
Код, который я использовал сейчас: fit <- lmer( conc ~ (1 | G) + (1 | F) + (1 | K/F) + (1 | kal/G:F:K) , sample_1) - person Illya-Big; 05.12.2014