【问题标题】:Multi state models in R2BayesXR2BayesX 中的多状态模型
【发布时间】:2015-04-25 08:21:08
【问题描述】:

我正在尝试使用 R 包 R2BayesX 拟合多状态模型。我怎样才能正确地做到这一点?手册中没有示例。这是我的尝试。

  • 活动是 1/0 即状态
  • 时间就是时间
  • 患者 id 是我想要的随机效应
f <- activity ~ sx(time,bs="baseline")+sx(PatientId, bs="re")
b <- bayesx(f, family = "multistate", method = "MCMC", data=df)

注意:创建了新的输出目录

警告信息:

在 run.bayesx(file.path(res$bayesx.prg$file.dir, prg.name = res$bayesx.prg$prg.name), :
BayesX 运行时出错,请检查 BayesX 日志文件!

【问题讨论】:

  • 我没有投反对票,但我建议您将日志文件的内容添加到您的问题中。
  • 日志文件的内容?抱歉,这是什么意思,我是编程新手

标签: r markov


【解决方案1】:

我不确定您究竟要指定哪种模型,但我尝试提供一个人为的无意义数据集以使上述错误可重现:

set.seed(1)
df <- data.frame(
  activity = rbinom(1000, prob = 0.5, size = 1),
  time = rep(1:50, 20),
  id = rep(1:20, each = 50)
)

您可以提供一个改进的示例。然后我就可以运行你的代码了:

library("R2BayesX")
f <- activity ~ sx(time, bs = "baseline") + sx(id, bs = "re")
b <- bayesx(f, family = "multistate", method = "MCMC", data = df)

这会导致上面的警告,您可以通过以下方式检查 BayesX 的日志文件:

bayesx_logfile(b)

告诉你(以及其他信息):

ERROR: family multistate is not allowed for method regress

所以这里似乎只支持 REML 估计,但是:

b <- bayesx(f, family = "multistate", method = "REML", data = df)

也会导致错误,日志文件显示:

ERROR: Variable state has to be specified as a global option!

因此必须以不同的方式提供状态。我猜你试图通过二进制响应来做到这一点,但似乎响应应该是时间变量(如在生存模型中),然后需要以某种方式提供额外的状态指示器。不过,我在 BayesX 手册中找不到这方面的示例。我建议您联系 BayesX 邮件列表和/或 R2BayesX 软件包维护者,提出更具体的问题和可重现的示例。

【讨论】:

    猜你喜欢
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    相关资源
    最近更新 更多