怎么进行大数据中R语言的生存分析
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇文章为大家展示了怎么进行大数据中R语言的生存分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。根据上面的生存分析的介绍可以大概的了解了生存分析的概念和原理
千家信息网最后更新 2025年12月02日怎么进行大数据中R语言的生存分析
本篇文章为大家展示了怎么进行大数据中R语言的生存分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
根据上面的生存分析的介绍可以大概的了解了生存分析的概念和原理以及KM曲线的绘制。但是生存分析中COX回归的结果不容易直接输出,下面简单的介绍一种自定义函数,批量并且规则的输出结果的方式。
#载入所需的R包
library("survival")library("survminer")#载入并查看数据集
data("lung")head(lung)inst time status age sex ph.ecog ph.karno pat.karno meal.cal wt.loss1 3 306 2 74 1 1 90 100 1175 NA2 3 455 2 68 1 0 90 90 1225 153 3 1010 1 56 1 0 90 90 NA 154 5 210 2 57 1 1 90 60 1150 115 1 883 2 60 1 0 100 90 NA 06 12 1022 1 74 1 1 50 80 513 0
#cox 回归分析
res.cox <- coxph(Surv(time, status) ~ sex, data = lung)res.coxsummary(res.cox)Call:coxph(formula = Surv(time, status) ~ sex, data = lung) n= 228, number of events= 165 coef exp(coef) se(coef) z Pr(>|z|) sex -0.5310 0.5880 0.1672 -3.176 0.00149 **---Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 exp(coef) exp(-coef) lower .95 upper .95sex 0.588 1.701 0.4237 0.816Concordance= 0.579 (se = 0.022 )Rsquare= 0.046 (max possible= 0.999 )Likelihood ratio test= 10.63 on 1 df, p=0.001111Wald test = 10.09 on 1 df, p=0.001491Score (logrank) test = 10.33 on 1 df, p=0.001312
COX回归的结果中需要提取HR,HR的置信区间,wald.test和 p.value的信息,最简单的是在summary结果中进行复制粘贴,当然效率很低。假设当变量成百上前后,会发生什么呢?
--------------------复制粘贴N*成百上千次!!!
还可以构建自定义函数,数据框的形式一次输出所有变量的COX回归结果
#查看待分析的变量
covariates <- names(lung[,4:10])covariates[1] "age" "sex" "ph.ecog" "ph.karno" "pat.karno" "meal.cal" "wt.loss"
#构建自定义函数,以数据框形式输出结果
univ_formulas <- sapply(covariates, function(x) as.formula(paste('Surv(time, status)~', x)))#设定函数输出的信息
univ_models <- lapply( univ_formulas, function(x){coxph(x, data = lung)})# Extract data univ_results <- lapply(univ_models, function(x){ x <- summary(x) p.value<-signif(x$wald["pvalue"], digits=2) wald.test<-signif(x$wald["test"], digits=2) beta<-signif(x$coef[1], digits=2);#coeficient beta HR <-signif(x$coef[2], digits=2);#exp(beta) HR.confint.lower <- signif(x$conf.int[,"lower .95"], 2) HR.confint.upper <- signif(x$conf.int[,"upper .95"],2) HR <- paste0(HR, " (", HR.confint.lower, "-", HR.confint.upper, ")") res<-c(beta, HR, wald.test, p.value) names(res)<-c("beta", "HR (95% CI for HR)", "wald.test", "p.value") return(res) #return(exp(cbind(coef(x),confint(x)))) })#输出所有变量的COX结果
res <- t(as.data.frame(univ_results, check.names = FALSE))as.data.frame(res)beta HR (95% CI for HR) wald.test p.valueage 0.019 1 (1-1) 4.1 0.042sex -0.53 0.59 (0.42-0.82) 10 0.0015ph.ecog 0.48 1.6 (1.3-2) 18 2.7e-05ph.karno -0.016 0.98 (0.97-1) 7.9 0.005pat.karno -0.02 0.98 (0.97-0.99) 13 0.00028meal.cal -0.00012 1 (1-1) 0.29 0.59wt.loss 0.0013 1 (0.99-1) 0.05 0.83
OK!可以write了,至于csv还是txt ,啦意随。。。
上述内容就是怎么进行大数据中R语言的生存分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
分析
结果
输出
数据
函数
变量
语言
信息
内容
形式
成百
技能
知识
简明
成百上千
简明扼要
上千
区间
原理
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机编程和数据库考试题
小米软件开发java
网络技术应用电子版
魔兽世界燃烧的远征龙牙服务器
软件开发项目计划书格式
中国国家网络安全办公室
国内外网络安全现状
科技对互联网企业的影响力
网络安全基础教材答案
网络安全小黑板怎么划分
paddle lite 服务器
服务器运维工程师收入
软件开发商怎么缴税
学校监控服务器连接状态红色
公益网络安全宣传官证书要钱吗
计算机网络技术分几级
数据库失败无法识别的GuID
网络安全理论有哪些
m8服务器
excel跨表提取数据库
flash数据库调用
电力网络安全和网络管理
一句话木马 数据库
花生壳下载软件开发
七日杀服务器发言
龙源数据库可以申报中级职称吗
上海电信软件开发职业规划
易赛诺青岛网络技术面试
web服务器文件下载
杭州大树网络技术有限公司现状