ggforest函数与coxph一起使用时返回错误消息

问题描述 投票:1回答:1

当将ggforest()应用于coxph对象时,我得到以下错误消息

error in ggforest(res.cox3, data = Selection_cox) :
class(model) == "coxph" are not all TRUE

[res.cox3coxph()的输出,其中包括ttstrata,属于以下类别:

> class(res.cox3)
[1] "coxph.penal" "coxph"  

我收到以下虚拟数据的相同消息:

set.seed(132456)
'dummy survival data'
df<-data.frame(id=seq(1,1000,1), event=rep(0,1000),time=floor(runif(1000,7,10)),group=floor(runif(1000,0,2)))
'set events for a few random subjects'
'only within the first 100 to check results more easily'
id_list<-c(as.numeric(floor(runif(10,1,100))))
df$event[df$id %in% id_list]<-1

'set survival times for events'
t_list<-c(as.numeric(floor(runif(8,1,5))))
df2<-df[df$event==1,]
df2
df2$time<-t_list


'combine data'
df<-rbind(df,df2)
summary(df)

'Set up surfit '
require(survminer)
KM_fit<-coxph(Surv(time , event) ~ 1 + strata(group),data= df)

我在做什么错?

谢谢!

r ggplot2 survival-analysis
1个回答
0
投票

ggforest似乎不支持阶层(基于函数的代码,该函数提取模型项的名称:attr(model$terms, "dataClasses")[-1]并将其与提供的data.frame的名称匹配)。独立于此问题,在提供的示例中,您尝试绘制NULL模型;也许您想绘制此图:

KM_fit <- coxph(formula=Surv(time, event) ~ group, data=df)

而不是使用分层来按第二个协变量进行分层,您可能必须将第二项添加到模型中,例如:

df$group2 <- gl(2, k=nrow(df)/2)
KM_fit <- coxph(Surv(time , event) ~ group + group2, data= df)

该模型与分层模型并不完全相同,因为未分层模型将使用单个潜在危害来提供两个因素的估计,而分层将针对每个层级给出危险比,但基于输出,那可能是您最好的选择。

© www.soinside.com 2019 - 2024. All rights reserved.