如何从函数调用中提取公式和子集信息

时间:2014-03-31 15:25:24

标签: r survival-analysis

在我目前的工作中,我经常使用survfit()来计算生存数据的Kaplan-Meier估计值,并使用survdiff()进行对数秩检验。

我想知道如何从survfit()调用中提取公式和子集信息,并将其直接输入到survdiff()中。我通常使用

survdiff(formula(survfit.object)) 

但这不会识别我的幸存者电话中提供的任何子集参数。

例如:

library(survival)

fail.time <- 12*rexp(100)
group <- factor(sample(1:3,100,replace=TRUE),1:3,c('a','b','c'))
fail.status <- rbinom(100,1,0.4)

srv<-survfit(Surv(fail.time,fail.status)~group,subset=group!="a")
survdiff(formula(srv))

这不是我想要的,而是我想要

survdiff(formula(srv),subset=group!="a")

但我希望找到一种方法,让我不必再次添加子集信息。

谢谢!

1 个答案:

答案 0 :(得分:2)

R中的大多数模型拟合对象存储整个调用:

survdiff(formula(srv),subset = srv$call$subset)

或只是:

eval(srv$call)

完整地重新运行原始呼叫。