gpt4 book ai didi

r - 制作相对生存率分析表

转载 作者:行者123 更新时间:2023-12-04 09:34:48 24 4
gpt4 key购买 nike

“relsurv”包可以计算相对生存率。

输入是您的数据(在我的案例中是诊断出患有结直肠癌的患者),然后是比率表,其中包括存活到下一个年龄类别的变化,通常按性别和诊断年份划分。

就我而言,我希望根据年龄、性别、诊断年份和社会经济得分获得相对存活率。我有所有应该进入 1 个数据帧中的速率表的数据:

   > head(lifetable)
sex seifa age 2007 2008 2009 2010 2011 2012 2013
1 female SEIFA1 0 0.9947100 0.9953400 0.9956200 0.9959200 0.9964100 0.9966000 0.9966800
2 female SEIFA1 1 0.9996625 0.9996613 0.9997038 0.9996489 0.9996425 0.9996667 0.9997556
3 female SEIFA1 2 0.9997750 0.9997968 0.9998105 0.9998119 0.9998350 0.9998167 0.9998656
4 female SEIFA1 3 0.9998375 0.9998374 0.9998460 0.9998621 0.9998625 0.9998667 0.9999022
5 female SEIFA1 4 0.9998750 0.9998645 0.9998697 0.9998871 0.9998900 0.9999000 0.9999267
6 female SEIFA1 5 0.9998827 0.9999077 0.9998887 0.9998956 0.9999037 0.9999160 0.9999280

我正在寻找一种快速简便的方法将其转换为“费率表”。我搜索了很多但什么也没找到...有人吗?

最佳答案

为了结束这个话题,我找到了一个解决方案:

  1. 创建 5 个标准费率表(按年龄、性别、年份),每个 seifa 类别一个。
   for (i in seq_along(levels(lifetable$seifa))){         # Create standard ratetables (by age,sex,year) for each seifa category
lt_ss_f <- subset(lifetable, seifa == paste("SEIFA", i, sep="") & sex =="female"); lt_ss_f <- lt_ss_f[-c(1:3)]; lt_ss_f <- as.matrix(lt_ss_f)
lt_ss_m <- subset(lifetable, seifa == paste("SEIFA", i, sep="") & sex =="male") ; lt_ss_m <- lt_ss_m[-c(1:3)]; lt_ss_m <- as.matrix(lt_ss_m)
assign(paste("SEIFA", i, sep=""), transrate(lt_ss_m,lt_ss_f, yearlim=c(2003,2013), int.length=1))}
  1. 使用 joinrate() 连接 5 个费率表以创建完整的费率表,该表现在包括第 4 个维度(年龄、性别、年份和 seifa)。
FULLrateTable <- joinrate(list(SEIFA1=SEIFA1, SEIFA2=SEIFA2, SEIFA3=SEIFA3, SEIFA4=SEIFA4, SEIFA5=SEIFA5),dim.name="SEIFA") 

关于r - 制作相对生存率分析表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31064599/

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