我想绘制两组在一段时间内的 RMST 增量。 X 轴 --> 时间(年),Y 轴 --> RMST Delta(天)。
a=rmst2(time, status, arm, tau=10)
> print(a)
Between-group contrast
Est. lower .95 upper .95 p
RMST (arm=1)-(arm=0) -0.137 -0.939 0.665 0.738
RMST (arm=1)/(arm=0) 0.981 0.878 1.096 0.738
RMTL (arm=1)/(arm=0) 1.050 0.787 1.402 0.738
我想绘制所有时间点的上述数据(包括置信区间)。 R 中是否有函数可以做到这一点,或者我可以以某种方式创建以下结果对象的数组或列表并绘制它以实现相同的效果吗?
a$unadjusted.result
一种方法是破解
survRM2:::plot.rmst2
函数,以便将置信区间传递给plot
函数。在当前版本的 survRM2 软件包 (1.0-4) 中,它们不是。
要破解该函数,请在 R 提示符下键入以下内容:
survRM2:::plot.rmst2
将代码复制到新的 R 脚本文件中,并将以下内容添加到函数调用中:
plot_rmst2 <- function (x, xlab = "", ylab = "", col = "red", col.RMST = "pink",
col.RMTL = "orange", density = 80, angle = 85, conf.int=TRUE, ...)
在第 35 行和 66 行,插入以下内容:
if(conf.int) lines(fit, lty=2, col="red")
将该函数发送到 R 控制台以使其可用。然后调用该函数:
plot_rms2t(a)
数据:
library(survRM2)
D <- rmst2.sample.data()
time <- D$time
status <- D$status
arm <- D$arm
tau <- NULL
x <- D[,c(4,6,7)]
a <- rmst2(time, status, arm, tau=10)