京公网安备 11010802034615号
经营许可证编号:京B2-20210330
R语言生存分析
生存分析涉及预测当特定事件将要发生的时间。它也被称为故障时间分析,或死亡时间的分析。例如,预测天的人患有癌症将生存的数量和预测时间时机械系统是要失败。
在R中包名为 survival 是用来进行生存分析。这个软件包包含了 Surv()函数,这需要输入数据为一个R公式,被选中的变量分析中创建了一个生存的对象。然后我们使用 survfit()函数来创建一个情节进行分析。
安装软件包
install.packages("survival")
语法
对于R中创造生存分析的基本语法是:Surv(time,event) survfit(formula)
以下是所使用的参数的说明:
time 是跟进时间,直到事件发生。
event 表明出现预期的事件的状态。
formula 是预测变量之间的关系。
示例
我们会考虑 “pbc” 出现在上面已安装了生存包中的数据集。它介绍有关患有肝原发性胆汁性肝硬化(PBC)的人的生存数据点中间出现在数据集中的许多列,我们主要关心的字段 "time" 和 "status". 时间代表患者的登记和更早的患者接受了肝移植患者的或死亡之间的事件之间的天数。
# Load the library.
library("survival")
# Print first few rows.
print(head(pbc))
当我们上面的代码执行,它会产生以下结果及图表:
id time status trt age sex ascites hepato spiders edema bili chol albumin copper alk.phos ast
1 1 400 2 1 58.76523 f 1 1 1 1.0 14.5 261 2.60 156 1718.0 137.95
2 2 4500 0 1 56.44627 f 0 1 1 0.0 1.1 302 4.14 54 7394.8 113.52
3 3 1012 2 1 70.07255 m 0 0 0 0.5 1.4 176 3.48 210 516.0 96.10
4 4 1925 2 1 54.74059 f 0 1 1 0.5 1.8 244 2.54 64 6121.8 60.63
5 5 1504 1 2 38.10541 f 0 1 1 0.0 3.4 279 3.53 143 671.0 113.15
6 6 2503 2 2 66.25873 f 0 1 0 0.0 0.8 248 3.98 50 944.0 93.00
trig platelet protime stage
1 172 190 12.2 4
2 88 221 10.6 3
3 55 151 12.0 4
4 92 183 10.3 4
5 72 136 10.9 3
6 63 NA 11.0 3
从上面的数据我们正在考虑的时间和状态我们的分析。
应用 Surv() 和 survfit() 函数
现在,我们应用 Surv() 函数适用于设置上述数据,并创建一个情节用于显示的趋势。
# Load the library.
library("survival")
# Create the survival object.
survfit(Surv(pbc$time,pbc$status==2)~1)
# Give the chart file a name.
png(file = "survival.png")
# Plot the graph.
plot(survfit(Surv(pbc$time,pbc$status==2)~1))
# Save the file.
dev.off()
当我们上面的代码执行,它会产生以下结果及图表:
Call: survfit(formula = Surv(pbc$time, pbc$status == 2) ~ 1)
n events median 0.95LCL 0.95UCL
418 161 3395 3090 3853
在上面的图中的趋势,可以帮助我们预测在若干天结束的生存概率。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA数据分析师 出品 作者:李诗怡 1. 销售漏斗阶段判断 题目:销售漏斗模型中,通过广告、社交媒体等方式触达品牌信息(如浏览品 ...
2026-09-07在Python数据分析中,Pandas库的DataFrame是最核心、最常用的结构化数据表对象,类似于Excel的二维表格,具备规整的行列结构、字 ...
2026-09-07在数据分析、经营复盘、业绩预测与经济统计工作中,平均增速(平均增长率)是衡量数据长期变化趋势、业务发展快慢的核心指标。不 ...
2026-09-07 很多数据分析师精通Excel单元格操作,但当被问到“表结构数据的基本处理单位是什么”“字段和记录的本质区别”“为什么表结 ...
2026-09-07随着大数据技术的快速发展,商业竞争逐步从传统的经验式经营转变为数据驱动的精细化运营。海量的用户行为数据、交易数据、运营数 ...
2026-09-04CDA数据分析师 出品 作者:李诗怡 1. 波士顿矩阵(BCG Matrix) 定义: BCG于1970年提出的业务组合分析工具,以"市场增长率"(纵 ...
2026-09-04 数据分析师八成以上的时间在和数据表格打交道,但许多人拿到Excel后习惯性地先算、先分析,结果回头发现漏了一列关键数据, ...
2026-09-04数据透视表是Excel与Power BI中最核心的数据分析工具,具备快速汇总、维度拆分、动态筛选的能力,可高效完成数据归类与统计展示 ...
2026-09-03在Power BI数据分析可视化场景中,堆积柱状图+折线图是最常用的复合图表组合。堆积柱状图适合展示各细分维度当期数值、结构占比 ...
2026-09-03 很多数据分析师每天与Excel打交道,但当被问到“表格结构数据的基本处理单位是什么”“数据类型误判会引发哪些分析错误”“ ...
2026-09-03CDA数据分析师 出品 作者:李诗怡 一、8个核心数据清洗函数 1. TRIM:一键清除多余空格(最常用) 作用:仅保留文本中"单词/字 ...
2026-09-02数据分析的核心并非单纯操作工具、整理报表或绘制图表,而是依靠科学的思维逻辑挖掘数据价值、解释业务现象、指导经营决策。在完 ...
2026-09-02在社会经济、产业研究、区域治理与大数据实证分析中,面板数据是最具研究价值的数据类型。面板数据同时包含截面维度与时间维度信 ...
2026-09-02 很多数据分析师能熟练计算均值、标准差,但当被问到“如何用一张图让业务方3秒内看懂核心结论”“面对不同数据类型该怎么选 ...
2026-09-02在数据驱动决策的体系中,数据分析按照分析目的可分为描述性分析、诊断性分析、预测性分析与指导性分析四大类型。其中,诊断性分 ...
2026-09-01网络请求是Python爬虫开发、接口测试、数据拉取的核心基础功能,Python生态中主要依靠 urllib 和 requests 两大库实现HTTP请求操 ...
2026-09-01 很多数据分析师面对业务问题时,常常感到“知道要分析,却不知道用什么方法”。其实,数据分析并非无章可循——从三大基础范 ...
2026-09-01在数据库设计与业务数据维护中,自增ID是数据表最常用的主键字段,用于唯一标识每一条业务数据,正常状态下ID应保持连续递增。但 ...
2026-08-31在数理统计、数据分析、经济测算与日常量化评估中,平均值是刻画数据集中趋势、反映整体水平的基础核心指标。在实际应用中,最常 ...
2026-08-31在数据驱动的时代,数据分析早已不是“凭经验、靠感觉”的零散操作,而是一套具备固定逻辑、标准化流程的系统方法——这就是数据 ...
2026-08-31