如何在具有二进制结果和连续输入的r中运行广义线性混合回归

时间:2019-06-14 20:31:10

标签: r regression glm lme4 longitudinal

我正尝试创建一个纵向模型,以预测具有各种生物特征(即BMI,年龄,收缩压(SBP)和腰臀比(WHR))的受试者明年患糖尿病的风险。我正在使用一个伪造的测试样本,该样本具有两个数据收集时间(第0年和第1年,分别代表2017年和2018年)和5个主题(ID 1-5)。

我目前已将我的数据集加载为糖尿病时间数据(来自CSV文件)。我正在使用lme4软件包,并希望使用glmer函数,因为该函数用于二进制结果变量(对于糖尿病为1,对于非糖尿病为0)。我对此非常新手,因此不确定运行回归时是否正确输入了变量。

ID Year Diabetes BMI Age SBP WHR
1   1   0   0   24.0    60  140 0.90
2   1   1   0   25.0    61  130 0.95
3   2   0   0   20.0    65  120 0.75
4   2   1   1   30.0    66  150 1.10
5   3   0   1   31.0    77  160 1.20
6   3   1   1   31.0    78  162 1.21
7   4   0   0   23.0    51  125 0.80
8   4   1   1   28.0    52  145 0.99
9   5   0   0   26.0    54  133 0.91
10  5   1   1   29.2    55  145 0.98

> glmer(formula = Diabetes ~ BMI + Age + SBP + WHR + (Age|WHR) + (Age|SBP), data = diabetestimedata, family=binomial())
Error: number of observations (=10) < number of random effects (=20) for term (Age | WHR); the random-effects parameters are probably unidentifiable
> glmer(formula = Diabetes ~ BMI + Age + SBP + WHR + (ID|Year), data = diabetestimedata, family=binomial())
Error in pwrssUpdate(pp, resp, tol = tolPwrss, GQmat = GQmat, compDev = compDev,  : 
  (maxstephalfit) PIRLS step-halvings failed to reduce deviance in pwrssUpdate
> glmer(formula = Diabetes ~ BMI + Age + SBP + WHR + (1|Year), data = diabetestimedata, family=binomial())
Error in pwrssUpdate(pp, resp, tol = tolPwrss, GQmat = GQmat, compDev = compDev,  : 
  (maxstephalfit) PIRLS step-halvings failed to reduce deviance in pwrssUpdate

错误可以在上方的代码框中看到。

我想基于此数据获得回归输出,但我不确定我的输入是否正确完成。

0 个答案:

没有答案