首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用survminer绘制R中的危险函数?

使用survminer绘制R中的危险函数?
EN

Stack Overflow用户
提问于 2019-06-11 17:17:51
回答 2查看 5.4K关注 0票数 4

我们可以使用survminer来绘制生存函数或累积风险函数,但是我看不到使用它来绘制风险函数的方法。

例如,

代码语言:javascript
复制
library(survival)
library(tidyverse)
library(survminer)

data(lung)

# Run Kaplan-Meier on the data
mod.lung <- survfit(Surv(time, status) ~ 1, data = lung)

# Kaplan-Meier Survival Curve
ggsurvplot(mod.lung)

# Cumulative Hazard
ggsurvplot(mod.lung, fun = function(y) -log(y))

因为累积危险函数是H(t) = -log(S(t)),所以我只需要添加fun = function(y) -log(y)就可以得到累积危险图。

危险函数是h(t) = -d/dt log(S(t)),所以我不确定如何在survminer图中使用它来获得危险函数。

危险函数的另一种定义是h(t) = f(t)/S(t),然而,我不确定如何使用它来获得曲线图。

我已经找到了使用ggplot2获取危险图的方法,例如

代码语言:javascript
复制
survival.table1 <- broom::tidy(mod.lung) %>% filter(n.event > 0)
survival.table1 <- survival.table1 %>% mutate(hazard = n.event / (n.risk * (lead(time) - time)))
ggplot() +
  geom_step(data = survival.table1, aes(x = time, y = hazard)) +
  labs(x = "Time", y = "Hazard")

然而,我主要希望找到一种使用survminer包的方法,部分原因是为了保持一些一致性。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2019-10-25 10:49:19

在rms包中,您可以使用survplot函数,并将"what“参数指定为" hazard”,以绘制危险函数与时间的关系。

https://rdrr.io/cran/rms/man/survplot.html

票数 3
EN

Stack Overflow用户

发布于 2021-05-19 10:27:43

晚了几年,但这是给其他人的。

如果估计值是由psm函数创建的,则survplot只能用于绘制危险图。rms库的psm函数符合参数生存模型的加速失效时间族(默认为威布尔分布)。survreg包的文档中提供了其他可用的发行版:

这些包括“威布尔”,“指数”,“高斯”,“逻辑”,“对数正态”和“逻辑”。否则,将假定为符合survreg.distributions中所述格式的用户定义列表

代码语言:javascript
复制
library(rms)
mod.lung <- psm(Surv(time, status) ~ 1, data = lung)
survplot(mod.lung, what="hazard")

对于非参数生存模型,muhaz库可能更有用。本例使用默认的"epanechnikov“边界核函数。您可能希望探索不同的带宽选项-请参阅muhaz package documentation

代码语言:javascript
复制
library(muhaz)
mod.lung <- muhaz(lung$time, lung$status - 1) # status must be 1 for failure and 0 for censored
plot(mod.lung)

或者,要对危险应用B样条而不是核密度平滑,请查看bshazard

代码语言:javascript
复制
library(bshazard)
mod.lung <- bshazard(Surv(time, status) ~ 1, data = lung)
plot(mod.lung)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56540351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档