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

使用survminer在R中绘制危险函数?,r,survival,R,Survival,我们可以使用survminer来绘制生存函数或累积危险函数,但我看不到使用它来绘制危险函数的方法 比如说, 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 ggsur

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

比如说,

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))

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


感谢rms软件包中的,您可以使用带有“what”参数指定为“hazard”的survplot函数来绘制危险函数


晚了几年,但这是为其他人准备的

survplot
只能用于绘制由
psm
功能创建的估计值的危险。
rms
库的
psm
功能适用于参数生存模型的加速失效时间系列(默认为威布尔分布)。survreg软件包的文档中有其他可用的分发版本:

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


我在
survminer
中没有看到任何解决此问题的内容。您是否考虑过使用具有危险评估绘图功能的软件包?首先查看
??“hazard”
的输出。目前没有绘制hazard函数的软件包(我查看过)。不过,您的代码似乎正常工作。
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")
library(rms)
mod.lung <- psm(Surv(time, status) ~ 1, data = lung)
survplot(mod.lung, what="hazard")
library(muhaz)
mod.lung <- muhaz(lung$time, lung$status - 1) # status must be 1 for failure and 0 for censored
plot(mod.lung)
library(bshazard)
mod.lung <- bshazard(Surv(time, status) ~ 1, data = lung)
plot(mod.lung)