如何从 R 中的 survfit 中提取危险?

2023-11-24

我有一个survfit目的。我的生存总结t=0:50多年的兴趣是很容易的。

summary(survfit, t=0:50)

它给出了每个 t 的生存率。

有没有办法获得每个 t 的危险(在本例中,每个 t=0:50 中从 t-1 到 t 的危险)?我想获得与卡普兰迈耶曲线相关的危险的平均值和置信区间(或标准误差)。

当分布适合时,这似乎很容易做到(例如type="hazard" in flexsurvreg)但我不知道如何对常规 survfit 对象执行此操作。建议?


这有点棘手,因为危险是瞬时概率的估计(这是离散数据),但是basehaz函数可能有一些帮助,但它只返回累积风险。因此,您仍然需要执行额外的步骤。

我也有幸muhaz功能。从它的文档来看:

library(muhaz)
?muhaz
data(ovarian, package="survival")
attach(ovarian)
fit1 <- muhaz(futime, fustat)
plot(fit1)

enter image description here

我不确定获得 95% 置信区间的最佳方法,但引导可能是一种方法。

#Function to bootstrap hazard estimates
haz.bootstrap <- function(data,trial,min.time,max.time){
  library(data.table)
  data <- as.data.table(data)
  data <- data[sample(1:nrow(data),nrow(data),replace=T)]
  fit1 <- muhaz(data$futime, data$fustat,min.time=min.time,max.time=max.time)
  result <- data.table(est.grid=fit1$est.grid,trial,haz.est=fit1$haz.est)
  return(result)
}

#Re-run function to get 1000 estimates
haz.list <- lapply(1:1000,function(x) haz.bootstrap(data=ovarian,trial=x,min.time=0,max.time=744))
haz.table <- rbindlist(haz.list,fill=T)

#Calculate Mean,SD,upper and lower 95% confidence bands
plot.table <- haz.table[, .(Mean=mean(haz.est),SD=sd(haz.est)), by=est.grid]
plot.table[, u95 := Mean+1.96*SD]
plot.table[, l95 := Mean-1.96*SD]

#Plot graph
library(ggplot2)
p <- ggplot(data=plot.table)+geom_smooth(aes(x=est.grid,y=Mean))
p <- p+geom_smooth(aes(x=est.grid,y=u95),linetype="dashed")
p <- p+geom_smooth(aes(x=est.grid,y=l95),linetype="dashed")
p

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 R 中的 survfit 中提取危险? 的相关文章

  • 如何找到连续数字的区间开始和结束的位置?

    我有一个向量 vec lt c 2 3 5 6 7 8 16 19 22 23 24 连续的数字是 c 2 3 c 5 6 7 8 c 22 23 24 所以第一个向量从 2 开始 到 3 结束 第二个向量从 5 开始 到 8 结束 对于第
  • 我可以在 data.table 连接中访问“j”中重复的列名称吗? [复制]

    这个问题在这里已经有答案了 如果我尝试连接两个具有相同列名的 data tables 那么 1附加到其中一个名称 但我似乎无法访问该名称j的一部分DT 表达 Example DT1 data table name letters value
  • 如何使用 by 并将所有列暴露给该函数将函数应用于 data.table 的子集?

    当切片一个data table按组划分 用于对数据进行切片的变量在函数执行期间不在子集中 我用以下方法演示了这一点debugonce library data table x lt data table a rep letters 1 4
  • 按列名称索引拆分数据框

    这是先前问题的变体 df lt data frame matrix rnorm 9 9 ncol 9 names df lt c c 1 d 1 e 1 a p b p c p 1 o1 2 o1 3 o1 我想按下划线 后面的column
  • 使用 tidymodel 运行多个回归模型

    我最近一直在使用 tidymodels 来运行模型并选择最能满足某些目标函数的参数 例如 对 mtcars 数据使用假设回归 使用此问题底部答案中的回归示例作为示例 https stackoverflow com questions 241
  • 使用 rpy2 将 NULL 从 Python 转换为 R

    在 R 中经常NULL值用作默认值 使用 Python 和 RPy2 如何显式提供NULL争论 None不可兑换 NotImplementedError 字符串 NULL 只会被转换为字符串 并在执行过程中导致错误 采取以下示例 使用tsi
  • dplyr 中每组的 cumsum

    我开始享受dplyr但我陷入了一个用例 我希望能够申请cumsum数据框中的每个组与包 但我似乎无法正确处理 对于演示数据框 我生成了以下数据 set seed 123 len 10 dates as Date 2014 01 01 1 l
  • 泛化 R %in% 运算符以匹配元组

    前几天我花了一段时间寻找一种方法来检查行向量是否包含在 R 中的某些行向量集中 基本上 我想概括 in 运算符来匹配元组而不是向量中的每个条目 例如 我想要 row vec c A 3 row vec 1 A 3 data set rbin
  • 如何使用 dplyr 的 filter() 和 R-base 的 ifelse() 过滤数据框?

    我的数据框df看起来像这样 Home Away Inning Boston NYC Top NYC Boston Bottom NYC Boston Top 我想使用 dplyr 的filter 制作一个数据框 从ifelse query
  • ggplot2 中列组合的分面图

    我正在做相关性的组合 并且想在 ggplot2 中绘制每个组合 然而 我希望每个组合都在一个单独的面板上 而不是一个面板上的所有点 making up columns in my real data I m doing correlatio
  • 如何按物种矩阵显示站点内植物物种生物量?

    我之前问过 如何将两列显示为二进制 存在 不存在 矩阵 这个问题得到了两个很好的答案 我现在想更进一步 在原始站点按物种列添加第三列 该列反映每个地块中每个物种的生物量 第 1 列 地块 指定约 200 个地块的代码 第 2 列 物种 指定
  • 使用plot(...,add=T) 叠加栅格图会导致最终图任意错位

    我发现 当我尝试使用plot add T 叠加多个栅格时 如果我尝试将超过3 个栅格叠加在一起 则后续图不会正确对齐栅格 我的初衷是创建一个模拟土地覆盖的分类地图 其中代表覆盖类别的颜色深浅随着我们模型投影的确定性而变化 为此 我创建了一个
  • 如何在 R 中解析年份+周数?

    有没有一种好方法可以将年 周数转换为R中的日期 我已经尝试过以下方法 gt as POSIXct 2008 41 format Y U 1 2008 02 21 EST gt as POSIXct 2008 42 format Y U 1
  • a * b * y 中的错误:不一致的数组[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 Cold lt matrix c 1 89 3 76 2 47 4 76 2 2 byrow TRUE X lt mat
  • 将表达式捕获为 R 中的函数体

    我正在尝试编写一个程序 该程序将表达式作为输入并返回一个以该表达式绑定作为其主体的函数 caller lt function expr params Function lt function params body env parent f
  • 如何在 R 中创建没有情节的图例?

    这是一个艺术项目 我创建了一个包含 5 种不同颜色的许多点的散点图 我想创建一个与绘图完全分开的图例 因为它不在绘图上 也不在绘图旁边 而是在它自己的窗口中 因此我可以将图例保存为它自己的 pdf 文件 这样我就可以将我的情节和图例分开打印
  • AWS DynamoDB 的 r 语言支持 [重复]

    这个问题在这里已经有答案了 这是对此的后续 更新问题 AWS dynamodb 支持 R 编程语言 https stackoverflow com questions 14224919 aws dynamodb support for r
  • 如何使用 purrr::pmap 在nested.data.frame中绘制多个ggplot

    我对 purrr pmap 在nested data frame中制作多个ggplot图有一些疑问 我可以使用 purrr map2 毫无问题地运行下面的代码 并且可以在nested data frame中制作多重图 2个图 作为示例 我在
  • R 中的闭包类似于 Python

    首先考虑以下 Python 代码 该代码计算函数被调用的次数 def counter fn count 0 def inner args kwargs nonlocal count count 1 print Function 0 was
  • 多个变量的分组描述性统计

    给定数据框 df Hup Hop testA testB Y Hi 1 1 N Lo 2 2 Y Mi 3 3 N No 4 4 Y Hi 5 5 N Lo 6 6 Y Mi 7 7 N No 8 8 Y Hi 9 9 N Lo 10 10

随机推荐