首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用survminer::ggsurvplot在r中以编程方式绘制多条生存曲线的问题

使用survminer::ggsurvplot在r中以编程方式绘制多条生存曲线的问题
EN

Stack Overflow用户
提问于 2019-01-15 07:59:32
回答 1查看 423关注 0票数 2

我可以使用ggsurvplot绘制一个Kaplan-Meier图,如下所示:

代码语言:javascript
复制
library(survminer)
library(survival)
fit1 = survfit(Surv(time, status) ~ sex, data = lung)
ggsurvplot(fit1, data = lung)

然而,我需要以编程方式绘制许多公里图。我需要将不同的变量作为字符串进行传递。我在下面试过了。

代码语言:javascript
复制
fml = as.formula(paste('Surv(time, status)~', 'sex'))
fit2 = survfit(fml, data = lung)
ggsurvplot(fit2, data = lung)

令人惊讶的是,这并不起作用。我得到的错误信息如下:

代码语言:javascript
复制
Error: object of type 'symbol' is not subsettable

我不知道为什么会这样。有人知道怎么解决这个问题吗?非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2021-11-30 01:12:05

正如Aidan's comment中的链接所建议的,您需要使用函数survminer::surv_fit(),它是survival::survfit()的包装器。所以,在你的例子中,

代码语言:javascript
复制
library(survminer)
library(survival)
 # lung is distributed as an object, survival::lung
fit1 = surv_fit(Surv(time, status) ~ sex, data = lung)
ggsurvplot(fit1, data = lung)

然后,可以绘制来自surv_fit(object.formula)的输出

代码语言:javascript
复制
fml = as.formula(paste('Surv(time, status)~', 'sex'))
fit2 = surv_fit(fml, data = lung)
ggsurvplot(fit2, data = lung)

surv_fit帮助页面中,它还展示了如何拟合公式列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54190948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档