Assess the appropriateness of PHA

数据说明

使用R自带数据集ovarian。检查age是否满足proportional hazards assumption。

graphical methods

expected vs. observed

即上一篇中提到的画图方法,若两条线很接近则认为满足PHA,否则可以考虑不满足。
很明显不满足

log-log plot

age是连续性变量,所以如果要检查需要对其分组,一般分两组,以均值为界限

attach(ovarian)
str(ovarian)
?ovarian
k=survfit(Surv(futime,fustat)~(age<56))
k$label=c(rep(1,k$strata[1]),rep(2,k$strata[2]))
#此处用rep()函数做循环,将生存对象的label按分组变成了1和2
t1=c(0,subset(k$time,k$label==1))
t2=c(0,subset(k$time,k$label==2))
St1=c(1,subset(k$surv,k$label==1))
St2=c(1,subset(k$surv,k$label==2))
#分别选取了对应分组的子集
plot(t1,-log(-log(St1)),col=1,type='s',xlab='t',ylab=expression(hat(S)(t)),ylim=c(-3,5))
lines(t2,-log(-log(St2)),col=2,type='s')
#plot画图,lines函数在原图基础上追加线条
legend("topright",c('age>=56','age<56'),lty=1,col=c(1,2),bty='n')

两个曲线看上去平行,似乎可以认为PHA成立
综上可见矛盾,这种方法太主观了,假设检验的方法会更加客观

Test

attach(ovarian)
S=Surv(futime,fustat)
phm.trt=coxph(S~age)
cox.zph(phm.trt,transform='rank',global=F)
#cox.zph()用来检验PHA的函数
  chisq df    p
age 0.739  1 0.39

由此可见,应该接受原假设,age满足PHA。

Check scale——AIC

数据说明

The Worcester Heart Attack Study data(notes 4)

检查哪类变量

一般选择continuous type进行scale check

如何检查

使用AIC进行检查,对不同的模型计算其AIC,小则优。

rm(list=ls())
WHAS=read.csv(choose.files())
#数据的变量名不易识别的时候可以用col指定每列变量名
attach(WHAS)
S=Surv(lenfol,fstat)
x1=age
x3=hr
x5=diasbp
x6=bmi
x2=gender
x9=sho
x10=chf
x13=mitype
phm.1.1=coxph(S~x1+x2+x3+x5+x6+x9+x10+x13)
phm.1.2=coxph(S~x1+I(x1^2)+x2+x3+x5+x6+x9+x10+x13)
phm.1.3=coxph(S~sqrt(x1)+x2+x3+x5+x6+x9+x10+x13)
phm.1.4=coxph(S~x1+I(x1^2)+I(x1^3)+x2+x3+x5+x6+x9+x10+x13)
phm.1.5=coxph(S~log(x1)+x2+x3+x5+x6+x9+x10+x13)
aic1.1=extractAIC(phm.1.1)[2]
aic1.2=extractAIC(phm.1.2)[2]
aic1.3=extractAIC(phm.1.3)[2]
aic1.4=extractAIC(phm.1.4)[2]
aic1.5=extractAIC(phm.1.5)[2]
#选sqrt(x1)
phm.2.1=coxph(S~sqrt(x1)+x2+x3+x5+x6+x9+x10+x13)
phm.2.2=coxph(S~sqrt(x1)+x3+I(x3^2)+x2+x5+x6+x9+x10+x13)
phm.2.3=coxph(S~sqrt(x1)+sqrt(x3)+x2+x5+x6+x9+x10+x13)
phm.2.4=coxph(S~sqrt(x1)+x3+I(x3^2)+I(x3^3)+x2+x5+x6+x9+x10+x13)
phm.2.5=coxph(S~sqrt(x1)+log(x3)+x2+x5+x6+x9+x10+x13)
aic2.1=extractAIC(phm.2.1)[2]
aic2.2=extractAIC(phm.2.2)[2]
aic2.3=extractAIC(phm.2.3)[2]
aic2.4=extractAIC(phm.2.4)[2]
aic2.5=extractAIC(phm.2.5)[2]
#选log(x3)
phm.3.1=coxph(S~sqrt(x1)+log(x3)+x2+x5+x6+x9+x10+x13)
phm.3.2=coxph(S~sqrt(x1)+log(x3)+x2+x5+I(x5^2)+x6+x9+x10+x13)
phm.3.3=coxph(S~sqrt(x1)+log(x3)+x2+sqrt(x5)+x6+x9+x10+x13)
phm.3.4=coxph(S~sqrt(x1)+log(x3)+x2+x5+I(x5^2)+I(x5^3)+x6+x9+x10+x13)
phm.3.5=coxph(S~sqrt(x1)+log(x3)+x2+log(x5)+x6+x9+x10+x13)
aic3.1=extractAIC(phm.3.1)[2]
aic3.2=extractAIC(phm.3.2)[2]
aic3.3=extractAIC(phm.3.3)[2]
aic3.4=extractAIC(phm.3.4)[2]
aic3.5=extractAIC(phm.3.5)[2]
#选sqrt(x5)
phm.4.1=coxph(S~sqrt(x1)+log(x3)+x2+sqrt(x5)+x6+x9+x10+x13)
phm.4.2=coxph(S~sqrt(x1)+log(x3)+x2+sqrt(x5)+x6+I(x6^2)+x9+x10+x13)
phm.4.3=coxph(S~sqrt(x1)+log(x3)+x2+sqrt(x5)+sqrt(x6)+x9+x10+x13)
phm.4.4=coxph(S~sqrt(x1)+log(x3)+x2+sqrt(x5)+x6+I(x6^2)+I(x6^3)+x9+x10+x13)
phm.4.5=coxph(S~sqrt(x1)+log(x3)+x2+sqrt(x5)+log(x6)+x9+x10+x13)
aic4.1=extractAIC(phm.4.1)[2]
aic4.2=extractAIC(phm.4.2)[2]
aic4.3=extractAIC(phm.4.3)[2]
aic4.4=extractAIC(phm.4.4)[2]
aic4.5=extractAIC(phm.4.5)[2]
summary(phm.4.2)
#选第二个模型

每个阶段的结果是:

最后选择的模型是:
x1+logx3+x2+x5+x6+I(x62)+x9+x10+x13\sqrt{x_1} + log{x_3} + x_2 + \sqrt{x_5} + x_6 + I(x_6^2) + x_9 + x_10 + x_13x1​​+logx3​+x2​+x5​​+x6​+I(x62​)+x9​+x1​0+x1​3

生存分析 R语言(四)——Cox PHM(3) 检查PHA和scale相关推荐

  1. r语言npsurv_10生存分析+R语言代码surv.pdf

    10生存分析R语言代码surv 生存函数和危险函数 生存分析数据的 Cox 回归模型 生存分析 R 软件陪同 吴喜之 December 20, 2014 . . . . . . . . . . . . ...

  2. 生存分析 R语言(二)——Cox PHM(1)

    题目 使用R自带数据集veteran进行操作,是被诊断有肺癌的老兵生存数据. 载入数据集 library(survival) library(survminer) data()#列出已载入的包的所有数 ...

  3. 生存分析 R语言(一)——KM estimator

    题目 Data contains drug users who have been given residential treatment for drug abuse. Consider only ...

  4. R语言使用cox函数构建生存分析回归模型、使用subgroupAnalysis进行亚组分析并可视化森林图

    R语言使用cox函数构建生存分析回归模型.使用subgroupAnalysis进行亚组分析并可视化森林图 目录

  5. R语言四格表的统计分析及假设检验

    R语言四格表与列联表的统计分析及假设检验 卡方检验是一种确定两个分类变量之间是否存在显着相关性的统计方法. 这两个变量应该来自相同的人口,他们应该是类似 是/否,男/女,红/绿等. 例如,我们可以建立 ...

  6. R语言四格表、列联表秩和检验

    R语言四格表.列联表秩和检验 秩和检验方法最早是由维尔克松(Wilcoxon)提出,叫维尔克松两样本检验法.后来曼-惠特尼将其应用到两样本容量不等(n1不等于n2)的情况,因而又称为曼-惠特尼U检验. ...

  7. R语言stringr包str_extract函数检查数据是否包含特定模式实战

    R语言stringr包str_extract函数检查数据是否包含特定模式实战 目录 R语言stringr包str_extract函数检查数据是否包含特定模式实战 #导入stringr包

  8. R语言dplyr包all_equal函数检查多个dataframe是否相同实战

    R语言dplyr包all_equal函数检查多个dataframe是否相同实战 目录 R语言dplyr包all_equal函数检查多个dataframe是否相同实战 #dplyr包的安装及导入

  9. R语言进行COX时变系数模型(含时间依存协变量的Cox回归模型)

    我们在临床研究中,经常要研究疾病与生存率的关系,cox回归是用得比较常见的模型之一.Cox 比例风险模型依赖于风险随时间变化的假设(PH假设),意思是协变量对结局的影响随着时间变化是固定的.然而现实中 ...

最新文章

  1. 四川大学计算机学院男女生比例,川大、电子科大新生男女比例大PK 比例更佳的是……...
  2. BZOJ 1406 密码箱(数论)
  3. python游戏脚本实例-Python使用pygame模块编写俄罗斯方块游戏的代码实例
  4. 使用Mybatis Generator自动生成代码
  5. boost::boyer_myrvold_params::kuratowski_subgraph用法的测试程序
  6. 在Linux上的虚拟机上启动Oracle上报ORA-00845: MEMORY_TARGET not supported on this system的问题解决
  7. Rosenbrock函数到底什么用
  8. 人工智能时代号角已吹响 COMPUTEX如何凝聚AI这股力量?
  9. 使用 @ControllerAdvice 和 实现ResponseBodyAdvice接口, 拦截Controller方法默认返回参数,统一处理返回值/响应体
  10. OpenCV-差分法实现绿叶识别(图像差分+颜色通道)
  11. Windows server常见操作、问题
  12. CVPR 2022 | 即插即用!南洋理工商汤开源SAM-DETR: 利用语义对齐匹配实现快速收敛的DETR...
  13. 使用变量替换批量部署GoldenGate
  14. 通过MFC实现数码管显示功能
  15. 人机对话系统的对话管理
  16. 前端H5面试题CSS:如何解决 margin“塌陷”?
  17. 学习笔记-God-Linux
  18. docker部署jpress详细版本
  19. vim 命令插入、删除、查询、替换操作。
  20. 前端培训教程JavaScript

热门文章

  1. Android股票列表联动
  2. 视觉在机器人领域的应用
  3. 惠普打印机2132故障灯大全图解_绝对干货!二手打印机选购攻略!
  4. 用于音频信号去噪的谱相减和陷波滤波的比较(Matlab代码实现)
  5. 如何打开倾斜摄影数据osgb
  6. 今日冬至《心的深处》孙溟㠭篆刻艺术
  7. 从零开发HarmonyOS(鸿蒙)手机小游戏——数字华容道
  8. mysql数据库状态如何监控数据库_MySQL数据库之zabbix3.2监控MYSQL状态
  9. Fastapi学习笔记(一)
  10. STM32驱动12bit AD TLC2543(I/O模拟方式)