2016-08-02 8 views
0

Я пытаюсь построить несколько моделей lmer для бумаги. Мне пришлось упростить структуру случайного эффекта, сбросив корреляцию между случайными склонами и перехватом (Barr et al., 2013). Однако, когда я пытаюсь построить с использованием функции sjp.lmer, я получаю следующую ошибку:Плоская модель lmer без ковариационной матрицы

Ошибка в массиве (NA, c (J, K)): «dims» не может быть длиной 0 Кроме того: Предупреждение сообщения: В ranef.merMod (объект, condVar = TRUE): условных отклонений в настоящее время не доступно через ranef, когда существует несколько терминов в фактор

есть ли потенциал работы вокруг этого? Любая помощь будет принята с благодарностью.

Привет Бен, Вот некоторые данные, я работаю с:

> dput(df) 
 
structure(list(Subject = c(1L, 2L, 3L, 5L, 6L, 6L, 6L, 7L, 7L, 
 
7L, 8L, 8L, 8L, 9L, 9L, 9L, 10L, 10L, 11L, 11L, 11L, 12L, 12L, 
 
13L, 13L, 14L, 14L, 15L, 15L, 16L, 16L, 16L, 17L, 17L, 17L, 18L, 
 
18L, 18L, 19L, 19L, 20L, 20L, 21L, 21L, 22L, 22L, 23L, 23L, 23L, 
 
24L, 24L, 25L, 25L, 25L, 26L, 26L, 26L, 27L, 27L, 28L, 28L, 29L, 
 
29L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 36L, 37L, 38L, 39L, 40L, 
 
41L, 42L, 43L, 44L, 45L, 46L, 47L, 48L, 49L, 50L, 51L, 52L, 53L, 
 
54L, 55L, 56L, 57L, 58L, 59L, 60L, 61L, 62L, 63L, 64L, 65L, 66L, 
 
67L, 68L, 69L, 70L, 71L, 72L, 73L, 74L, 75L, 76L, 77L, 78L, 79L, 
 
80L, 81L, 82L, 83L, 84L, 85L, 86L, 87L, 88L, 89L, 90L, 91L, 92L, 
 
93L, 94L, 95L, 96L, 97L, 98L, 99L, 100L, 101L, 102L, 103L, 104L, 
 
105L, 106L, 107L, 108L, 109L, 110L, 111L, 112L, 113L, 114L, 115L, 
 
116L), A = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 
 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("1", 
 
"2"), class = "factor"), B = structure(c(1L, 1L, 1L, 1L, 1L, 
 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 
 
2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
 
3L, 3L), .Label = c("1", "2", "3"), class = "factor"), C = c(9.58, 
 
9.75, 15, 10.75, 13.3, 14.42, 15.5, 9.25, 10.33, 11.33, 9.55, 
 
11, 11.92, 14.25, 15.5, 16.42, 14.92, 16.17, 10.83, 11.92, 12.92, 
 
7.5, 8.5, 10.33, 11.25, 13.08, 13.83, 14.92, 15.92, 9.58, 14.83, 
 
11.92, 8.33, 9.5, 10.5, 6.8, 7.92, 9, 13.5, 10.92, 10, 11, 13, 
 
15.58, 12.92, 11.8, 5.75, 6.75, 7.83, 11.12, 12.25, 12.08, 13.08, 
 
14.58, 8.08, 9.17, 10.67, 10.6, 12.67, 7.83, 8.83, 9.67, 10.58, 
 
11.75, 7, 17.17, 11.25, 13.75, 11.83, 16.92, 8.83, 7.07, 7.83, 
 
15.08, 15.83, 16.67, 18.87, 11.92, 12.83, 7.83, 12.33, 10, 11.08, 
 
12.08, 15.67, 11.75, 15, 14.308, 15.9064, 16.161, 16.9578, 8.90197, 
 
16.2897, 9.05805, 10.5969, 5.15334, 9.1046, 14.1019, 18.9736, 
 
10.9447, 14.5455, 16.172, 6.65389, 11.3171, 12.2864, 17.9929, 
 
10.5778, 16.9195, 7.6, 7.8, 7.2, 16.7, 17, 16.5, 17, 15.1, 16, 
 
16.4, 13.8, 13.8, 14.5, 16.1, 15.8, 15, 14.1, 15, 14.7, 15, 14.5, 
 
10.8, 11.4, 11.3, 10.9, 11.2, 9.3, 10.8, 9.7, 8, 8.2, 8.2, 17.5, 
 
12.6, 11.6, 10.8, 11.8, 12.3, 16.3, 17.1, 9.626283368, 14.6, 
 
13.7), D = structure(c(2L, 1L, 1L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 
 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 
 
1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 
 
2L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
1L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 
 
1L, 1L, 2L, 1L, 1L, 2L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 
 
1L, 2L, 1L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 2L, 1L, 2L, 
 
1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 
 
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("1", 
 
"2"), class = "factor"), Frontal_FA = c(0.4186705, 0.4151535, 
 
0.4349945, 0.4003705, 0.403488, 0.407451, 0.3997135, 0.38826, 
 
0.3742275, 0.3851655, 0.3730715, 0.3825115, 0.3698805, 0.395406, 
 
0.39831, 0.4462415, 0.413532, 0.419088, 0.4373975, 0.4633915, 
 
0.4411375, 0.3545255, 0.389322, 0.349402, 0.352029, 0.367792, 
 
0.365298, 0.3790775, 0.379298, 0.36231, 0.3632755, 0.357868, 
 
0.3764865, 0.3726645, 0.351422, 0.3353255, 0.334196, 0.3462365, 
 
0.367369, 0.3745925, 0.3610755, 0.360576, 0.357035, 0.3554905, 
 
0.3745615, 0.38828, 0.3293275, 0.3246945, 0.3555345, 0.375563, 
 
0.38116, 0.387508, 0.357707, 0.413193, 0.3658075, 0.3776355, 
 
0.362678, 0.3824945, 0.3771, 0.375347, 0.362468, 0.367618, 0.3630925, 
 
0.3763995, 0.359458, 0.3982755, 0.3834765, 0.386135, 0.3691575, 
 
0.388099, 0.350435, 0.3629045, 0.3456775, 0.4404815, 0.4554165, 
 
0.425763, 0.4491515, 0.461206, 0.453745, 0.4501255, 0.4451875, 
 
0.4369835, 0.456838, 0.437759, 0.4377635, 0.44434, 0.4436615, 
 
0.437532, 0.4335325, 0.4407995, 0.470447, 0.4458525, 0.440322, 
 
0.4570775, 0.4410335, 0.436045, 0.4721345, 0.4734515, 0.4373905, 
 
0.4139465, 0.440213, 0.440281, 0.425746, 0.454377, 0.4457435, 
 
0.488561, 0.4393565, 0.4610565, 0.3562055, 0.381041, 0.353253, 
 
0.4265975, 0.4069595, 0.40092, 0.4261365, 0.429605, 0.425479, 
 
0.4331755, 0.3981285, 0.4206245, 0.3798475, 0.3704155, 0.395192, 
 
0.404436, 0.4148915, 0.416144, 0.384652, 0.3916045, 0.41005, 
 
0.3940605, 0.3926085, 0.383909, 0.391792, 0.372398, 0.3531025, 
 
0.414441, 0.404335, 0.3682095, 0.359976, 0.376681, 0.4173705, 
 
0.3492685, 0.397057, 0.3940605, 0.398825, 0.3707115, 0.400228, 
 
0.3946595, 0.4278775, 0.384037, 0.43577)), .Names = c("Subject", 
 
"A", "B", "C", "D", "Frontal_FA"), class = "data.frame", row.names = c(NA, 
 
-151L))

Вот код, который я бегу

lmer подходят

FA <- lmer(Frontal_FA ~ poly(C) + A + B + D + (poly(C)||Subject), data = df) 

участок lme r fit

sjp.lmer(FA) 

Благодарим за помощь.

+0

Добро пожаловать в переполнение стека! Можете ли вы указать данные и/или код, который предоставит нам [воспроизводимый пример] (http: // stackoverflow.com/questions/5963269/пример того, как сделать-a-great-r-воспроизводимый пример)? –

+0

Привет, Бен, я просто добавил данные/код, который я использую в своем оригинальном посте. Спасибо за вашу помощь –

+0

Какую информацию вы хотите построить? Случайные эффекты? (см. аргумент 'type' из'? sjp.lmer' для деталей ...) – Daniel

ответ

1

sjp.lmer, по умолчанию, отображает случайные эффекты модели. Тем не менее, он отображает случайные эффекты (BLUP) с доверительными интервалами, используя функцию arm:se.ranef. Эта функция вызывает первое сообщение об ошибке вы получите:

arm::se.ranef(FA) 
> Error in array(NA, c(J, K)) : 'dims' cannot be of length 0 

Затем se.ranef функции вызывает lme4::ranef функции с аргументом condVar = TRUE, которая еще не реализована для конкретных условий (как у вас) в lme4. Таким образом вы получите дополнительное предупреждение

In ranef.merMod(object, condVar = TRUE) : 
    conditional variances not currently available via ranef when there are multiple terms per factor 

Если вы особенно заинтересованы в построении случайных эффектов, вы могли бы использовать lme4 Реализуемый dotplot -функции:

lattice::dotplot(ranef(FA)) 

enter image description here

Если вы интересуются любым другим типом участка (фиксированные эффекты, маргинальные эффекты, прогнозы, ...), см. ?sjp.lmer или некоторые примеры at his page.

Редактировать Если вы не против установки из GitHub (devtools::install_github("sjPlot/devel"), я совершил небольшое обновление, так что вы можете использовать show.ci = FALSE, чтобы избежать вычисления доверительных интервалов для случайных эффектов:

sjp.lmer(FA, type = "re", show.ci = F, sort.est = "(Intercept)") 

enter image description here

+0

Спасибо, Дэниэл, это было очень полезно. Я также хотел бы построить фиксированный угол эффекта poly (C), но получаю сообщения об ошибках, когда я применяю код со страницы sjp.lmer, которую вы предложили. Я редактировал сообщение с ошибками. Любая помощь с этим очень ценится. –

+0

Привет, ребята, извините, я новичок в этом. Должен ли я создать новую должность/вопрос для проблем с фиксированным эффектом, которые у меня возникают? –