2014-12-04 3 views
1

У меня есть следующий код SAS, который я бы хотел написать в R. Я знаю, что инструкция класса избыточна в R (необязательно).Переводы proc mixed to lmer - SAS to 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; 

Я пробовал приведенный ниже код, не повезло.

подходят < - lmer (конц ~ (1 | G) + (1 | F) + (1 | K/F) + (1 | Кал/G: F: K), sample_1)

с следующий выход. Я надеялся, чтобы не получить значение для KAL или К.

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 
+0

Я приближаюсь к выводам, которые мне нужны. –

+0

Попробуйте 'conc ~ (1 | G) + (1 | F/K) + (kal | G: F: K)'? –

ответ

2

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

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. (in press) по телефону lme4 и формулам в этом пакете.

+0

Возможно, оригинальная модель должна была быть «случайной G F K (F) K (G * F * Z); –

+0

Я приближаюсь - спасибо. –

+0

Код, который я использовал сейчас: 'fit <- lmer (conc ~ (1 | G) + (1 | F) + (1 | K/F) + (1 | kal/G: F: K), sample_1) ' –