gpt4 book ai didi

r - 精算生存分析,分为区间

转载 作者:行者123 更新时间:2023-12-04 10:32:25 26 4
gpt4 key购买 nike

我正在尝试在 R 中创建一个精算生存分析(我正在关注一些有效的例子)。我认为最好的方法是使用 survival包裹。所以像:

library(survival)
surv.test <- survfit(Surv(TIME,STATUS), data=test)

但是,要得到正确答案,我需要将 TIME 分开。可变为 365 天的间隔,我无法弄清楚如何做到这一点,以便它与给定的结果相匹配。

据我所知, survfit 中没有选项。将执行此操作的函数。我浏览了几个文档示例,但没有一个尝试创建阶梯类型的绘图(有一个 type='interval' 选项,但似乎做了一些不同的事情)。所以我想我需要在应用 survival 之前重新组合我的数据功能?

有任何想法吗?

P.S:在 SPSS 中,这将是 INTERVAL = THRU 10000 BY 365 ;在 Stata intervals(365) ... connect(stairsteps)

最佳答案

我猜你想分割 TIME因为您想绘制 Kaplan-Meier 曲线,所以将变量转换为区间。在 R 中,这不是必需的,您只需在 survfit 上调用 plot 即可。目的。例如,

s=survfit(Surv(futime, fustat)~rx, data=ovarian)
plot(s)

enter image description here

我想我更明白你的问题了。你得到一条粗黑线的原因是因为你有很多审查,还有 +正在审查的每个点都被绘制,你可以用 mark.time=F 关闭它。 . (您可以在 ?survival:::plot.survfit 中看到其他选项)

但是,如果您仍想按年份汇总,只需将您的跟进时间除以 365,然后向上取整。 ceiling用于四舍五入。这是一个在不同时间级别聚合而无需审查的示例。
par(mfrow=c(1,3))
plot(survfit(Surv(ceiling(futime), fustat)~rx, data=ovarian),col=c('blue','red'),main='Day',mark.time=F)
plot(survfit(Surv(ceiling(futime/30), fustat)~rx, data=ovarian),col=c('blue','red'),main='Month',mark.time=F)
plot(survfit(Surv(ceiling(futime/365), fustat)~rx, data=ovarian),col=c('blue','red'),main='Year',mark.time=F)
par(mfrow=c(1,1))

但我认为在没有审查符号的情况下绘制 Kaplan-Meier 会看起来非常好,并提供更多的洞察力。

enter image description here

关于r - 精算生存分析,分为区间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11884191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com