lme4-glmer警告:“降级的VtV不是正定的”-是因为响应变量过于统一

时间:2018-09-09 19:44:45

标签: logistic-regression lme4 mixed-models

我的数据看起来像下面的模拟。在数据中,有3个不同的组(g1,g2和g3),根据疾病的严重程度不同,分别需要进行1、2或3个程序(p1,p2,p3)。因此,组g1只有p1; p1,p2为组g2;组g3的p1,p2,p3。每次测量均在每次操作时进行。我想做的是运行混合模型logistic回归拟合(很抱歉,如果使用的术语不正确:很高兴得知错误),以寻找p1患病率的患者比例差异特定治疗(y1二分变量),并通过将其设置为随机变量来控制患者的病历。

使用此模拟数据,

的输出

mod_glmer = glmer(y1 ~ procedure + (1|id), data = data_g2, family = binomial)

给我以下错误:

Error in length(value <- as.numeric(value)) == 1L : Downdated VtV is not positive definite

我的猜测是,与以下事实有关:运行以下命令时,在p1处只有1

table(data_g2$y1[data_g2$procedure == "p1"])

运行以下命令时,0处同时有1p2处:

table(data_g2$y1[data_g2$procedure == "p2"])

但是我也运行了类似的“标准”逻辑回归,但没有收到错误消息:

mod_glm = glm(y1 ~ procedure, data = data_g2, family = binomial)

我该怎么做才能证明y1p1的比例与使用p2的{​​{1}}有所不同?

PS:如果您模拟数据,则运行几次,因为这涉及到随机数的生成(如果随机运行,则每2次运行就会收到一次消息,每次使用glmer都会给我一个错误。如果没有收到错误消息,请在set.seed(1)中再输入一个数字n

数据模拟

set.seed(n)

0 个答案:

没有答案