glmmLasso错误和警告

时间:2016-11-08 10:49:17

标签: r mixed-models

我正在尝试使用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]&lt; - score.beta [b.is.0] - lambda.b * sign(score.beta [b.is.0])出错:     订阅的作业中不允许使用NA   另外:警告信息:   在Ops.factor(y,Mu)中:' - '对因子无意义

包含必要变量的缩略数据集以R格式提供,可以下载here。 我希望我可以引导一下如何继续进行分析。如果数据集有任何问题或者您无法下载,请告诉我。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

只是跟进@Kristofersen上面的评论。确实是start向量会混淆你的分析。

如果我跑

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))
然后一切都很好和花花公子(即,它收敛并产生一个解决方案)。您已经使用泊松回归复制了示例,您需要根据您的情况调整代码。我不知道输出是否有意义。

快速注意:我在上面的代码中使用二项分布运行,因为结果是二进制的。如果估计相对风险是有意义的,那么泊松可能是合理的(并且它也会收敛),但是您需要重新编码您的结果,因为这两个组被定义为12,这肯定会弄得一团糟泊松回归。

换句话说,做一个

stackdata$Group <- stackdata$Group-1

在运行分析之前。