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

如何在具有二元结果和连续输入的r中运行广义线性混合回归,r,regression,glm,lme4,longitudinal,R,Regression,Glm,Lme4,Longitudinal,我正试图建立一个纵向模型来预测具有各种生物特征的受试者明年患糖尿病的风险,即BMI、年龄、收缩压(SBP)和腰臀比(WHR)。我使用的是一个假测试样本,有两次数据收集(0年和1年,仅代表2017年和2018年)和5名受试者(ID 1-5) 我目前已将数据集加载为diabetestimedata(来自CSV文件)。我使用的是lme4软件包,希望使用glmer函数,因为它用于二进制结果变量(1表示糖尿病,0表示非糖尿病)。我是这方面的新手,所以我不确定在运行回归时是否正确输入了变量 ID Year

我正试图建立一个纵向模型来预测具有各种生物特征的受试者明年患糖尿病的风险,即BMI、年龄、收缩压(SBP)和腰臀比(WHR)。我使用的是一个假测试样本,有两次数据收集(0年和1年,仅代表2017年和2018年)和5名受试者(ID 1-5)

我目前已将数据集加载为diabetestimedata(来自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
ID年糖尿病BMI年龄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(公式=糖尿病~BMI+Age+SBP+WHR+(Age | WHR)+(Age | SBP),数据=糖尿病估计数据,家庭=二项式()
误差:足月(年龄| WHR)的观察次数(=10)<随机效应次数(=20);随机效应参数可能无法识别
>glmer(公式=糖尿病~BMI+年龄+SBP+WHR+(ID |年),数据=糖尿病估计数据,家庭=二项式()
pwrssUpdate中的错误(pp,resp,tol=tolPwrss,GQmat=GQmat,compDev=compDev,:
(maxstephalfit)PIRLS步骤减半未能减少pwrssUpdate中的偏差
>glmer(公式=糖尿病~BMI+年龄+SBP+WHR+(1岁),数据=糖尿病估计数据,家庭=二项式()
pwrssUpdate中的错误(pp,resp,tol=tolPwrss,GQmat=GQmat,compDev=compDev,:
(maxstephalfit)PIRLS步骤减半未能减少pwrssUpdate中的偏差
在上面的代码框中可以看到错误


我希望根据这些数据得到回归输出,但我真的不确定我的输入是否正确。

似乎仅根据10个观察值无法估计您建立的相对复杂的模型……尝试增加观察值的数量,尤其是测试数据中的受试者,并查看每个受试者是否/哪些错误sistit似乎你建立的相对复杂的模型不能仅仅基于10个观察值进行估计……试着增加观察值的数量,尤其是测试数据中的受试者,看看是否/哪些错误仍然存在