【问题标题】:R: conditional binary logistic regression - Syntax and debuggingR:条件二元逻辑回归 - 语法和调试
【发布时间】:2013-08-31 21:28:06
【问题描述】:

根据我在这里与专家(Link1、Link2)的谈话,我认为我需要进行条件二元逻辑回归。我已经对我的数据进行了排序,每个控件都紧跟对应的处理案例,并且数据是长格式的。

我的设计在上面两个链接加上另外两个链接中有详细说明:Link3,Link4

编辑:后来我发现排序根本不重要,因为排序和未排序的数据产生了相同的输出。

我的语法如下。代码运行,但结果很奇怪。大多数 SE 为零,大多数 P 值为 NaN。怎么了?

library(Epi)

clogistic((DV ~ (Demo1 +Demo2 +Demo3 +Demo4 +Demo5)^2), 
          strata = PatientID,  data = Data4)

输出是:

> clogistic((DV ~ (Demo1 +Demo2 +Demo3 +Demo4 +Trt)^2), strata = PatientID,  data = MixedModelData4)

Call: 
clogistic(formula = (DV ~ (Demo1 + Demo2 + Demo3 + Demo4 + Trt)^2), 
    strata = PatientID, data = MixedModelData4)




                 coef exp(coef) se(coef)         z   p
Demo1        0.00e+00  1.00e+00        0       NaN NaN
Demo2        0.00e+00  1.00e+00        0       NaN NaN
Demo3       -3.27e-09  1.00e+00    56013 -5.83e-14   1
Demo4        0.00e+00  1.00e+00        0       NaN NaN
Trt         -2.12e+01  6.19e-10    14786 -1.43e-03   1
Demo1:Demo2  0.00e+00  1.00e+00        0       NaN NaN
Demo1:Demo3  0.00e+00  1.00e+00        0       NaN NaN
Demo1:Demo4  0.00e+00  1.00e+00        0       NaN NaN
Demo1:Trt   -4.34e-08  1.00e+00    50351 -8.62e-13   1
Demo2:Demo3  0.00e+00  1.00e+00        0       NaN NaN
Demo2:Demo4  0.00e+00  1.00e+00        0       NaN NaN
Demo2:Trt   -1.19e-08  1.00e+00    12937 -9.20e-13   1
Demo3:Demo4  0.00e+00  1.00e+00        0       NaN NaN
Demo3:Trt    8.08e-09  1.00e+00    19595  4.12e-13   1
Demo4:Trt   -1.62e-08  1.00e+00    31612 -5.12e-13   1

Likelihood ratio test=13.9  on 15 df, p=0.536, n=20
Warning message:
In clogistic((DV ~ (Demo1 + Demo2 + Demo3 + Demo4 + Trt)^2), strata = PatientID,  :
  Iteration limit exceeded

【问题讨论】:

  • 当您没有提供数据或输出时,您希望我们如何回答这个问题???
  • Dwin,你完全正确。对不起,我要输出了。
  • 约翰 我对它进行了排序,因为我之前已经阅读过它们应该被排序在彼此之下。但是,我尝试了排序和非排序版本,都得到了相同的输出。
  • 我相应地编辑了我的问题。
  • 这就是输出。你连最基本的数据描述都没有。

标签: r debugging syntax regression


【解决方案1】:

当系数或其标准误差“爆炸”时,通常表明数据存在病态。可能存在完全分离或严重的多重共线性(或两者兼有)。您需要同时提供:

 str(MixedModelData4) 

和:

with( MixedModelData4, table(DV,Demo1, Demo2) )
with( MixedModelData4, table(DV,Demo1, Demo3))
with( MixedModelData4, table(DV,Demo1, Demo3))
with( MixedModelData4, table(DV,Demo1, Demo4))
with( MixedModelData4, table(DV,Demo1, Demo5))

这只是初学者。问题可能存在于您数据中的其他三种方式组合之一中。

【讨论】:

  • 非常感谢亲爱的 DWin。我已将所有变量居中,所有 VIF 均低于 1.6。我会带着你要求的新输出回来。是的,我相信我的数据是病态的。它甚至使另一个在所有其他数据上运行的测试都不起作用(我说的是当被新 lme4 的 bootMer() 分析时它的奇怪行为:stackoverflow.com/questions/18443127/…)
  • 我看到这些命令打印出数据,但我无法在此处发布它们(虽然我无法运行“with()”函数,但对于 str() 函数,我必须在运行之前删除该引号)。如果你想要我,也许我可以把它发给你,或者我可以在这里发送我的“部分”数据。 [我应该补充一点,我的数据是居中的]
  • with 语句都缺少现在插入的最后一个括号。
  • 非常感谢亲爱的 DWin。如果我将数据发布到网上,我想我的同事们会不高兴。但是,我会尝试在专家的帮助下按照您的指示跟踪问题(上述用于查看数据的解决方案)。
猜你喜欢
  • 2013-12-20
  • 1970-01-01
  • 2016-05-10
  • 1970-01-01
  • 2016-03-20
  • 1970-01-01
  • 1970-01-01
  • 2013-08-27
  • 2018-01-26
相关资源
最近更新 更多