我正在尝试使用 glmmLasso 在广义线性混合模型中执行变量选择,但出现了一个我无法解决的错误和警告。数据集不平衡,一些参与者(PTNO)拥有比其他参与者更多的样本;无缺失数据。我的因变量是二进制的,所有其他变量(除了 ID 变量 PTNO)都是连续的。
我怀疑正在发生一些非常普遍的事情,但显然没有看到它,也没有在文档或网络上找到任何解决方案。
该代码基本上是根据 glmmLasso 足球示例改编的:
glm8 <- glmmLasso(Group~NDUFV2_dCTABL+GPER1_dCTABL+ ESR1_dCTABL+ESR2_dCTABL+KLF12_dCTABL+SP4_dCTABL+SP1_dCTABL+ PGAM1_dCTABL+ANK3_dCTABL+RASGRP1_dCTABL+AKT1_dCTABL+NUDT1_dCTABL+ POLG_dCTABL+ ADARB1_dCTABL+OGG_dCTABL+ PDE4B_dCTABL+ GSK3B_dCTABL+ APOE_dCTABL+ MAPK6_dCTABL, rnd = list(PTNO=~1),
family = poisson(link = log), data = stackdata, lambda=100,
control = list(print.iter=TRUE,start=c(1,rep(0,29)),q.start=0.7))
错误消息显示如下。具体来说,我不相信数据集中存在任何 NA,并且我不确定有关因子变量的警告的含义。
迭代1
grad.lasso[b.is.0]
包含必要变量的缩写数据集以 R 格式提供,可以下载here。
我希望我能得到一些关于如何继续分析的指导。如果数据集有问题或者无法下载,请告诉我。任何帮助深表感谢。
只是为了跟进上面@Kristofersen 的评论。它确实是start
向量会扰乱你的分析。
If I run
glm8 <- glmmLasso(Group~NDUFV2_dCTABL+GPER1_dCTABL+ ESR1_dCTABL+ESR2_dCTABL+KLF12_dCTABL+SP4_dCTABL+SP1_dCTABL+ PGAM1_dCTABL+ANK3_dCTABL+RASGRP1_dCTABL+AKT1_dCTABL+NUDT1_dCTABL+ POLG_dCTABL+ ADARB1_dCTABL+OGG_dCTABL+ PDE4B_dCTABL+ GSK3B_dCTABL+ APOE_dCTABL+ MAPK6_dCTABL,
rnd = list(PTNO=~1),
family = binomial(),
data = stackdata,
lambda=100,
control = list(print.iter=TRUE))
那么一切都很好(即它收敛并产生一个解决方案)。您已经复制了泊松回归的示例,并且需要根据您的情况调整代码。我不知道输出是否有意义。
快速说明:我在上面的代码中运行了二项式分布,因为您的结果是二进制的。如果估计相对风险有意义,那么泊松可能是合理的(并且它也会收敛),但您需要重新编码您的结果,因为这两组定义为1
and 2
这肯定会扰乱泊松回归。
换句话说,做一个
stackdata$Group <- stackdata$Group-1
在运行分析之前。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)