【问题标题】:random effects Cox model随机效应 Cox 模型
【发布时间】:2019-02-09 20:10:46
【问题描述】:

我正在尝试绘制 pm2.5 暴露与高血压发病率之间的剂量反应关系。我拟合了一个随机效应 cox 模型,其中为研究中心添加了一个随机效应。然后我使用 plotHR 函数来绘制剂量反应关系。但是我遇到了一个错误。下面是我使用的示例 R 代码。

library(survival)
library(coxme) 
library(splines)
library(Greg)

data("eortc")
eortc$age<-rnorm(2323,40,10)

efit1 <- coxph(Surv(y, uncens) ~ ns(age) + trt , eortc)
plotHR(efit1,term = 1,xlim = c(30,70))

efit2 <- coxme(Surv(y, uncens) ~ ns(age) + trt + (1|center), eortc)
plotHR(efit2,term = 1,xlim = c(30,70))

我可以使用 plotHR 绘制 efit1,但在绘制 efit2 时遇到错误,我在 cox 模型中添加了随机效应。任何人都知道如何解决这个问题?谢谢!

【问题讨论】:

  • 看来 plotHR 不是为coxme-models 设计的。我在数据或输出中看不到任何“A”或“B”。您应该使用edit 设施进行澄清。不要为此目的使用 cmets。
  • 是的。但是我还没有找到其他可以解决这个问题的函数。
  • 代码在遇到predict( ..., type="terms") 的请求时出错。由于predict.coxme 只允许c("lp", "risk") 中的一个,因此使用plotHR 的那种模型不会成功。
  • 非常感谢您的回复。我是 R 软件的新手。你的意思是我不能对 coxme 模型使用 predict 函数?
  • 这根本不是我说的。请阅读帮助页面:?predict.coxme。它不允许使用plotHR 要求的“预测”的“类型”。

标签: r random effect cox


【解决方案1】:

这显示predict.coxme 可以为这样的模型返回什么。我猜它不会完全令人满意,但我声称它很有用,因为它展示了混合模型是什么样的“引擎盖下”。每个中心都有一个单独的预测,但由于没有声称这些具有任何特定分布,因此以它们的平均值汇总它们的努力在统计上被认为是可疑的。这绘制了模型的指数线性预测变量,该模型涉及没有结的“样条”拟合(这给了你一堆线)。我按trt 状态着色:黑色表示“0”,红色表示“1”

plot( eortc$age, exp( predict(efit2)), col=1+(eortc$trt==1) )

trt==0 和 trt==1 组之间的“平均”差异确实出现了,并且与exp(0.705) -&gt; [1] 2.023847 的测量治疗效果一致,而模型中不显着的“年龄”效果是非常浅的线性上升。

【讨论】:

  • 非常感谢您的回答。但是为什么我仍然无法运行代码:plot(eortc$age, exp(predict(efit2)), col=1+(eortc$trt==1))?
  • 我不知道。通常,人们需要提供任何错误消息的全文以获得明智的响应。
  • 感谢您的回复。你能告诉我你的“efit2”的代码吗?当我使用我的“efit2”模型时,R 给出了一个错误,因为“predict”函数不能用于 coxme。
  • 'coxme' 包中有一个predict.coxme 函数,所以除非你的安装非常旧,否则我无法理解?
  • 看过news(pac="coxme")。出现hte word的两个实例:1)“2.2-8版本的变化将predict.coxme添加到NAMESPACE文件中;2)”2.2版本的变化:修复返回值中的两个错误,由b的映射不正确引起当模型中有多个随机项时,将系数转换为最终输出。 (拟合是正确的。一个错误是返回的 ranef(fit) 排序不正确,另一个导致 linear.predictor 中的 NA。)" 找不到 predict.coxme 的原因可能是您使用的版本低于 2.2 -8.
猜你喜欢
  • 2013-05-20
  • 2016-05-13
  • 2015-04-23
  • 2018-06-24
  • 2014-07-24
  • 2018-12-17
  • 2018-05-10
  • 2015-09-26
  • 1970-01-01
相关资源
最近更新 更多