我遇到了一些麻烦autoplot()
在生存对象中。我将以下面的例子为例
library(ggplot2)
library(ggfortify)
library(survival)
datalung <- lung
fitlung<- survfit(Surv(time,status) ~ sex,type = "kaplan-meier",data=datalung)
autoplot(fitlung,conf.int=FALSE,pVal=TRUE,pX=800)+scale_color_grey()
在上面的示例中,性别 1 和性别 2 具有不同的灰度,只有 2 个组,可以很好地看到不同的组。
我使用的真实数据集有 9 个不同的组,并且很难用这种灰度看到不同的曲线。我不能使用颜色。我正在寻找一种将符号放入不同组的方法,但我在中找不到此参数autoplot
.
The surv.linetype
有选择权solid
and dashed
,但它改变了具有相同模式的所有曲线,我不想要它。采取lung
数据为例,我想把不同的linetype
对于性别 1 和性别 2。
查看功能代码通常可以帮助我弄清楚哪些可以更改,哪些不能更改。你可以看看代码autoplot.survfit
通过跑步ggfortify:::autoplot.survfit
在控制台中。
仔细看你只会看到color
审美用于分组。我没有看到更改此设置的简单方法,但您可以轻松地按照函数中的配方来制作自己的绘图。虽然构建自己的地块需要更多步骤,但它为您提供了很大的灵活性。
例如,如果您想更改每个组的线和点的形状,您可以fortify
模型,然后构建绘图。
plot.data = fortify(fitlung, surv.connect = TRUE)
ggplot(plot.data, aes(time, surv, shape = strata)) +
geom_step(aes(linetype = strata)) +
geom_point(data = subset(plot.data, n.censor > 0)) +
scale_y_continuous(labels = scales::percent)
请注意,我只知道 6 种线型;即使有更多,也很难区分。形状也好不了多少,尽管形状有更多。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)