r-R2BayesX中的多状态模型



我正在尝试使用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.baesx(file.path(res$bayesx.prg$file.dir,prg.name=res$bayesx.prg$prg.name)中,:
bayesx运行时发生错误,请检查bayesx日志文件!

我不确定你到底想指定什么样的模型,但我试图提供一个人工的非敏感数据集,以使上述错误可重现:

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软件包维护人员,提出更具体的问题和可重复的示例。

最新更新