
预期
绘制生存曲线图
实际
object of type ‘symbol‘ is not subsettable
重现问题的步骤
1 2 3 4 5 6 7 8 9 |
library(survminer) require("survival") survie <- Surv(time, status) ~ sex fit<- survfit(survie, data = lung) ggsurvplot(fit, data = lung) #> Error: object of type ‘symbol‘ is not subsettable |
ggsurvplot()尝试从对象中捕获生存公式Surv(time, status) ~ sex,如下所示: fit$call$formula
。
通过分解R代码,执行fit $ call $ formula的结果是“ survie”而不是 Surv(time, status) ~ sex
。这将导致错误消息。
请拟合并可视化生存曲线,如下所示:
1 2 3 4 5 |
library(survival) fit <- survfit(Surv(time, status) ~ sex, data = lung) ggsurvplot(fit, data = lung) |
如果您仍然想分解R代码,那么我建议使用surv_fit()
[survminer软件包中的] 函数 ,它是对R基本函数的扩展, survfit()
具有更多功能
您可以按以下方式使用它:
1 2 3 4 5 |
survie <- Surv(time, status) ~ sex fit <- surv_fit(survie, data = lung) ggsurvplot(fit, data = lung) |