绘制Kaplan-Meier生存曲线需要用到的R包:survminer和survival。
library(survminer) # 加载包
library(survival) # 加载包
2 拟合曲线
R中使用survfit()函数来拟合生存曲线。
fit.3<-survfit(Surv(住院天数+病程,组别)~cd1656,data=data)
3. 绘制曲线函数
ggsurvplot(fit, data = NULL, fun = NULL, color = NULL,
palette = NULL, linetype = 1, conf.int = FALSE,
pval = FALSE, pval.method = FALSE,
test.for.trend = FALSE, surv.median.line = "none",
risk.table = FALSE, cumevents = FALSE,
cumcensor = FALSE, tables.height = 0.25,
group.by = NULL, facet.by = NULL, add.all = FALSE,
combine = FALSE, ggtheme = theme_survminer(),
tables.theme = ggtheme, ...)
# 参数解释
fit # 拟合的生存曲线对象
data # 用来拟合生存曲线的数据集
fun # 常用三个字符参数;
# "event"绘制累积事件(f(y)=1-y),
# "cumhaz"绘制累积危害函数(f(y)=-log(y))
# "pct"绘制生存概率(百分比)。
color # 设置生存曲线的颜色。
# 如果只有1条曲线,则直接设置color="blue";
# 如果有多条曲线,默认color="strata",按分组为生存曲线着色;
# 也可以自定义调色板来设置曲线颜色。
palette # 调色板,默认"hue"。
# 可选调色板有"grey","npg","aaas","lancet",
# "jco", "ucscgb","uchicago","simpsons"和"rickandmorty".
linetype = 1 # 设置曲线线型。可以按"strata"设置线型;
# 或按数字向量c(1, 2)或按字符向量c("solid", "dashed")设置
conf.int # 逻辑词;默认FASLE;为TRUE则绘制曲线置信区间
pval = FALSE # 逻辑词;为TRUE则将统计检验计算的p值添加到图上;
# 为数字,则直接指定P值大小,如pval = 0.03;
# 为字符串,则添加字符串到图上,如pval = "p-value: 0.031"
pval.method # 逻辑词,是否添加计算p值的统计方法的文本;
# 只有当 pval = TRUE时, 才会在图上添加检验方法文本
test.for.trend # 逻辑词,默认为FALSE;
# 为TRUE则返回趋势p值的检验,趋势检验旨在检验生存曲线的有序差异
surv.median.line # 在中位生存时间点处绘制水平或垂直线的字符向量;
# 可用值有"none"、"hv"、"h"、"v";其中v绘制垂直线,h绘制水平线。
risk.table = FALSE # 逻辑词,图上是否添加风险表;
# "absolute" 显示处于风险中的绝对数量;
# "percentage" 显示处于风险中的百分比数量
# "abs_pct" 显示处于风险中的绝对数量和百分比
cumevents # 逻辑词,是否添加累计事件表
cumcensor # 逻辑词,是否添加累计删失表
tables.height = 0.25 # 生存曲线图下所有生存表的高度,数值0-1之间
group.by # 包含分组变量名称的字符向量,向量长度≤2
facet.by # 字符向量,指定绘制分面生存曲线的分组变量(应≤2)的名称
ggtheme=theme_survminer() # 设置ggplot2主题,如theme_bw()
tables.theme # 作用于生存表的ggplot2主题名称
# 有theme_survminer、theme_cleantable()
add.all = FALSE # 逻辑词;是否添加总患者生存曲线到主生存图中
1、利用geom_smooth进行曲线的拟合。2、利用spline进行插值操作。R语言,一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘。R主要是以命令行操作,同时有人开发了几种图形用户界面。
R语言如何做ROC曲线ROC曲线,做分类时经常会用到的一种结果表现方法。诸如此类的工作,首选工具当然是R。在CRAN上搜了一下,找到一个叫ROCR的包。尽管这个包已经很久没更新了,但用起来还是很爽的。先看一下我画的ROC曲线。
里面是三份预测结果的ROC曲线。
ROCR包中主要是两个class:prediction和performance。前者是将预测结果和真实标签组合在一起,生成一个 prediction对象,然后在用performance函数,按照给定的评价方法,生成一个performance对象,最后直接对 performance用plot函数就能绘制出相应的ROC曲线。
1
2
3
4
5
6
plot a ROC curve for a single prediction run
and color the curve according to cutoff.
data(ROCR.simple)
pred lt- prediction(ROCR.simple$predictions, ROCR.simple$labels)
perf lt- performance(pred,tpr,fpr)
plot(perf,color