怎么进行大数据中R语言的生存分析
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章为大家展示了怎么进行大数据中R语言的生存分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。根据上面的生存分析的介绍可以大概的了解了生存分析的概念和原理
千家信息网最后更新 2026年11月03日怎么进行大数据中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安全错误
数据库的锁怎样保障安全
互联网科技名片
苏州找大状互联网科技有限公司
科技赋能下的互联网金融
互联网科技深圳
狮子座互联网科技
致聘互联网科技
火传媒上海互联网科技
郑州华宇互联网科技
科技大学互联网专业好不好
福州新华互联网科技学校 知乎
互联网金融科技公司干啥的
重庆互联网医院沙龙医盟信息科技
移动互联网年度科技创新
坤平互联网科技
互联网在线教育科技创业
阿里互联网科技企业
世界互联网领先科技成果获奖
伍佰万互联网科技怎么赚钱
深圳无忧互联网科技
悟空问答互联网科技
互联网黑科技
河南云网互联网络科技有限公司
中国互联网科技工作委员会毛军
科技金融是不是互联网金融
苏州大垚互联网科技
阿里互联网科技公司
互联网软件和科技
苏州铭阳互联网科技有限公司
互联网媒体平台算高科技产业
恒生科技指数 中概互联网