gpt4 book ai didi

r - 有没有办法从 coxme 模型中获得事件概率?

转载 作者:行者123 更新时间:2023-12-04 10:29:51 24 4
gpt4 key购买 nike

对于给定的解释变量值和给定的时间步长,我想从 coxme 模型中获得事件概率的预测。我的数据结构如下:

# Generate data
set.seed(123)
mydata <- data.frame(Site = as.factor(sample(c("SiteA", "SiteB", "SiteC"), 1000, replace = TRUE)),
Block = as.factor(sample(c("A", "B", "C", "D", "E", "F"), 1000, replace = TRUE)),
Treatment = as.factor(sample(c("Treat.A", "Treat.B"), 1000, replace = TRUE)),
Origin = as.factor(sample(c("Origin.A", "Origin.B"), 1000, replace = TRUE)),
Time = sample(seq(3), 1000, replace = TRUE),
Surv = sample(c(0, 1), 1000, replace = TRUE)) # Alive is 0, death is 1

# Coxme model
mymodel <- coxme(Surv(Time , Surv) ~ Treatment*Origin +
(1|Site/Block), data = mydata)

我想获得时间 = 3 时的预测生存可能性,对于每个治疗:起源组合。如果我有一个 coxph 模型(即没有随机效应),这可以通过生存包中的 survfit 轻松完成:
# use expand.grid to get a table with all possible combinations of Site and Treatment
newdata.surv <- with(mydata, expand.grid(Site = unique(Origin), Treatment = unique(Treatment)))

# run survfit to predict the new values
fitted <- survival::survfit(mymodel, newdata = newdata.surv)

# extract the fitted values for the time slice of interest: 3
newdata.surv$fit <- fitted$surv[3,]
newdata.surv$lower <- fitted$lower[3,] # Lower confidence interval
newdata.surv$upper <- fitted$upper[3,] # Upper confidence interval

但是, survfit 不适用于 coxme object 。我知道 predict.coxme 中存在 coxme package,但是当我尝试使用它时,我总是收到错误消息:“找不到函数”predict.coxme“。我使用的是 2.2-10 版本的 coxme 包,因此预测.coxme 函数应该包括在内(见 https://cran.r-project.org/web/packages/coxme/news.html )。

我已经看到包 coxmeemmeans 支持 lsmeans 对象,但我不确定这些包是否可用于预测生存。在此先感谢您的帮助。

最佳答案

coxme.predict函数本身不导出,但您可以使用 predict(mymodel) 调用它然后将调用此方法(或者您可以直接调用 coxme:::predict.coxme(mymodel)(带有 3 个冒号))。见 ?coxme:::predict.coxme进行简要说明。看来它目前不支持 newdata 参数,所以我不确定它对您的用例有多大用处。

关于r - 有没有办法从 coxme 模型中获得事件概率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60467243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com