Как я могу выполнить линейную смешанную модель? - PullRequest
0 голосов
/ 25 июня 2019

Я пытался выполнить линейный смешанный анализ модели. Мой набор данных выглядит следующим образом

Проверьте формат набора данных здесь

Я хочу проанализировать разницу снижения ОФВ1, которая отображается как BDR_FEV1_pcForecast1 до 3 на каждую последующую дату, в соответствии с типом pheno_a.

Я попробовал несколько кодов, но не смог найти никакого решения

library(nlme) 
library(lme4)
#Long type
CBL <- reshape(CB,direction="long",varying=37:40, sep="")
CBL$time2<-with(CBL,ifelse(time=="1_pcForecast", 1,

                       ifelse(time=="1_pcForecast1",2,

                              ifelse(time=="1_pcForecast2",3,

                                     ifelse(time=="1_pcForecast3",4,NA)))))

CBL$group <-factor(CBL$pheno_a)
CBL$time2 <- factor (CBL$time2)
CBL$id <- factor (CBL$id)
library(tidyverse)
library (dplyr)
CBL2<-select(CBL,id, time2, group, BDR_FEV)
(fm<- lmer(BDR_FEV~  time2 + group + time2:group + 
(time2|id),data=CBL2,control=lmerControl(check.nobs.vs.nRE="ignore")))

Результат должен отображаться так Подход к линейной смешанной модели от REML ['lmerMod']

Формула: BDR_FEV ~ время2 + группа + время2: группа + (время2 | идентификатор)

Данные: CBL2

Критерий REML при сходимости: 36920,69

Случайные эффекты:

Название группы Std.Dev. Corr

id (Перехват) 18.481

      time22       8.159   -0.30            

      time23       8.835   -0.28  0.94      

      time24       9.189   -0.28  0.93  1.00

Остаточный 4,964

Количество наблюдателей: 4639, группы: id, 2422

Фиксированные эффекты:

(Перехват) время22 время23 время24 группа1

  62.6471         0.1298        -0.4445        -1.1221        -6.2939  

время22: группа1, время23: группа1, время24: группа1

  -2.2448         0.4472        -0.4682  

код сходимости 0; 2 предупреждения оптимизатора; 0 предупреждений lme4

Предупреждающие сообщения:

1: В checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :

невозможно оценить масштабированный градиент

2: В checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :

Модель не сходится: вырожденный гессиан с 1 отрицательным собственным значением

Желаю вашего совета.

...