我是 R 新手,无法按需要进行绘图工作。问题是 R 似乎一遍又一遍地画出相同的四条线,而且是多余的。我遇到的情况的详细信息如下。
我有一个数据集:
> str(dataset)
'data.frame': 57641 obs. of 3 variables:
$ duration : num 3 8 7 2 4 8 2 2 8 8 ...
$ graduated: logi FALSE TRUE TRUE FALSE FALSE TRUE ...
$ group : num 651 651 671 671 651 651 651 651 651 651 ...
然后,我对其拟合了 Cox 比例风险回归模型:
survObj <- Surv(time = dataset$duration / 2, event = dataset$graduated)
model <- coxph(survObj ~ group, data=dataset)
接下来,按照这个例子,我创建了一个框架,希望通过组号对生存函数进行分组:
frame <- data.frame(group = dataset$group)
> str(frame)
'data.frame': 57641 obs. of 1 variable:
$ group: num 651 651 671 671 651 651 651 651 651 651 ...
数据中有四组:
> unique(dataset$group)
[1] 651 671 652 681
使用这个新框架,我创建了一个合适的生存模型:
fitObjGrouped <- survfit(model, newdata = frame)
最后,我绘制了这个东西:
color_set <- rainbow(4)
plot(fitObjGrouped, col=color_set)
结果具有正确的线条,但相互绘制了很多次:
如您所见,最后绘制了两条红线和两条蓝线。它们是正确的,每个类别都有一个,但仔细观察会发现它们每个下面都有一条绿色或其他颜色的线。将其转换为 PDF 时,文件大小是应有大小的 273 倍!
所以问题是:为什么 R 画线这么多次,我怎么能同时实现正确的模型拟合和绘图?
有人可以帮助我更好地理解我正在使用的 R 命令吗?提前致谢!
