分析队列人群有无死亡人数超额,通常应用标准人群死亡率来校正,即刻观察到中的实际死亡数(D)与定一个标准的死亡人数(E),D与E之比称为死亡比(standarized Mortality ratio,SMR). 标准化死亡率 (SMR) 是观察到的病例与预期病例的比率
因此计算SMR需要两个发病率,观察到的发病率和实际发病率,计算我们使用R语言ems包来进行演示
首先导入R包和其自带的ICU数据

library(ems)
bc<-data(icu)
attach(icu)


我们先来看看数据结构,数据很多名字很长,下图只是显示其中一部分,Unit The name of the ICU unit: ICU单元名称,Age Patient age年龄 患者年龄,Gender男性 = 1,女性 = 0,UnitAdmissionDateTimeICU入住日期和时间,UnitDischargeDateTimeICU出院日期和时间,UnitDischargeName结局:死亡 = 1,UnitDestinationName ICU住院日期,HospitalDischargeDate出院日期,HospitalDischargeName住院结果,LengthHospitalStayPriorUnitAdmission入院前的住院时间,LengthHospitalStayPriorUnitAdmissionICU 入院前患者的来源AdmissionTypeName_pri Admission as Clinical treatmen:治疗手段:1.药物2.择期手术3紧急手术
Vasopressors_D1是否要升压药,IsMechanicalVentilation1h是否1小时需要机械通气,CharlsonComorbidityIndex合并症指数,Saps3Points SAPS 3 score估计死亡概率,
SofaScoreSOFA 分数。

虽然文章数据很多,但是我们使用到的不多,我们先把分类变量改成因子,对一些变量打上标签

attr(icu, "var.labels")[match(c("Unit", "IsMechanicalVentilation1h","AdmissionTypeName_pri","Vasopressors_D1"), names(icu))] <-c("ICU unit","Mechanichal ventilation","Admission type","Vasopressors at admission")
icu$Saps3DeathProbabilityStandardEquation <- icu$Saps3DeathProbabilityStandardEquation /100###除以100变成比率
icu$IsMechanicalVentilation1h <- as.factor(ifelse(icu$IsMechanicalVentilation1h == 1, "Yes", "No"))
icu$AdmissionTypeName_pri <- as.factor(icu$AdmissionTypeName_pri)
levels(icu$AdmissionTypeName_pri) <- c("Clinical","Elective surgery", "Urgent surgery")
icu$Vasopressors_D1 <- as.factor(ifelse(icu$Vasopressors_D1 == 1, "Yes", "No"))

处理好数据后,我们就可以分析了,这文章的死亡率主要有两个,一个是UnitDischargeName指标的实际死亡率,一个是由SOFA评分构成的预测死亡率

SMR(icu$UnitDischargeName, icu$Saps3DeathProbabilityStandardEquation)


OK,实际死亡人数,预测死亡人数,SMR和可信区间都出来了,我们还可以求出分组的SMR和可信区间,假如我们想知道是否上呼吸机的SMR有无区别,

x1 <- SMR.table(data = icu, obs.var = "UnitDischargeName",pred.var = "Saps3DeathProbabilityStandardEquation",group.var = c( "IsMechanicalVentilation1h"),reorder = "no",decreasing = TRUE,use.label = TRUE)### obs.var为实际死亡得变量,pred.var为预测死亡变量


假如我们想多几组

x <- SMR.table(data = icu, obs.var = "UnitDischargeName",pred.var = "Saps3DeathProbabilityStandardEquation",group.var = c( "IsMechanicalVentilation1h","AdmissionTypeName_pri","Vasopressors_D1"),reorder = "no",decreasing = TRUE,use.label = TRUE)


还可以对数据做出可视化视图

forest.SMR(x, digits = 2)


R语言基于ems包标准化死亡率 (SMR)计算(1)相关推荐

  1. R语言标准化死亡率 (SMR)计算(2)

    上一篇文章中我们已经介绍了使用ems计算标准化死亡率 (SMR),但是它需要两个率,一个实际死亡率,一个估计死亡率,我们平时使用生存数据数据中没有估计死亡率,估计死亡率需要自己计算. 本章我们来介绍使 ...

  2. R语言使用yardstick包的conf_mat函数计算多分类(Multiclass)模型的混淆矩阵、并使用summary函数基于混淆矩阵输出分类模型评估的其它详细指标(kappa、npv等13个)

    R语言使用yardstick包的conf_mat函数计算多分类(Multiclass)模型的混淆矩阵(confusion matrix).并使用summary函数基于混淆矩阵输出分类模型评估的其它详细 ...

  3. R语言基于MASS包中的shuttle数据集以及neuralnet包构建神经网络模型

    R语言基于MASS包中的shuttle数据集以及neuralnet包构建神经网络模型 目录 R语言基于MASS包中的shuttle数据集以及neuralnet包构建神经网络模型

  4. R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置、置信区间、坐标轴(刻度、标签、范围)、无效线去除、水平线、辅助线、box形状、色彩等

    R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置.置信区间.坐标轴(刻度.标签.范围).无效线去除.水平线.辅助线.box形状.色彩等 目录

  5. R语言基于DALEX包进行特征筛选(feature selection)

    R语言基于DALEX包进行特征筛选(feature selection) 对一个学习任务来说,给定属性集,有些属性很有用,另一些则可能没什么用.这里的属性即称为"特征"(featu ...

  6. R语言基于mediation包行中介效应分析(2)

    中介变量(mediator) 是一个重要的统计概念,如果自变量 X 通过某一变量 M 对因变量 Y 产生一定影响,则称 M 为 X 和 Y 的中介变量.我们既往已经介绍了<R语言基于mediat ...

  7. R语言使用caret包的confusionMatrix函数计算混淆矩阵、基于混淆矩阵的信息手动编写函数计算accuray、准确率指标

    R语言使用caret包的confusionMatrix函数计算混淆矩阵.基于混淆矩阵的信息手动编写函数计算accuray指标 目录

  8. R语言使用caret包的confusionMatrix函数计算混淆矩阵、基于混淆矩阵的信息手动编写函数计算Specificity、特异度指标

    R语言使用caret包的confusionMatrix函数计算混淆矩阵.基于混淆矩阵的信息手动编写函数计算Specificity指标 目录

  9. R语言使用car包的vif函数计算方差膨胀因子,并基于方差膨胀因子开方后和阈值(2)的判断来确认模型特征(预测变量)之间是否存在多重共线性(Multicollinearity)

    R语言使用car包的vif函数计算方差膨胀因子,并基于方差膨胀因子开方后和阈值(2)的判断来确认模型特征(预测变量)之间是否存在多重共线性(Multicollinearity) 目录

最新文章

  1. php框架全局自定义错误,[TP笔记]ThinkPHP自定义错误页面、成功页面及异常页面
  2. 八十二、Python | Leetcode贪心算法系列
  3. 将java项目做成app_将鸿蒙做成和EMUI一致,又兼容安卓APP,华为已立于不败之地...
  4. 为基于spring-boot的应用添加根据运行时操作系统环境来提示用户选择active profile的功能...
  5. python3实战练手项目_Python0基础练手项目有哪些值得推荐?附实战项目+学习图谱...
  6. python填补缺失值数据驱动代码_python数据预处理之缺失值的各种填补方式
  7. 《HTML5 从入门到精通--7.6.3 单元格垂直跨度——rowspan》
  8. Dubbo 沉睡,Spring Cloud 崛起!
  9. PTA-Hello World(C语言)
  10. 身体出现十个信号当心短命
  11. 在Spring环境下存取properties文件中的数值
  12. Flash Player不支持火狐_谷歌浏览器
  13. 电脑重启只剩下c盘怎么办_win10突然只剩下c盘了怎么办|win10突然只剩下c盘的解决方法...
  14. 清华大学计算机系招生数量,清华大学报考信息出炉,计算机报考人数最多,有些专业无人报考...
  15. 航天宏图PIE-SAR软件高分3数据预处理流程
  16. 状语从句不是简单句_简单句、并列句、复合句
  17. [Loj 6070][回文树+可持久化线段树+border理论]基因
  18. Pytorch与强化学习 —— 1. 如何实现一个简单的Q Learning算法
  19. 练习:编写程序判断当前系统状态
  20. layui表头宽度和表格一致_layui表格如何把表头固定

热门文章

  1. Leetcode 52. N-Queens II [Python]
  2. 数据结构(C语言版第二版)严蔚敏 课后习题答案
  3. Mac中磁盘没有正常推出的解决方案
  4. python爬虫--根据身份证号码获取户籍地、出生年月等信息
  5. 2018MathorCup D题——公交移动支付问题分析
  6. app网址链接的生成
  7. 出一套 iOS 高级面试题
  8. 【论文写作-1】Word中如何引用参考文献之交叉引用参考文献
  9. 为什么理想滤波器不可实现
  10. Git 分布式版本控制工具01:Git介绍+下载+安装