(R) 向图中添加置信区间
我正在使用R。我在这里遵循本教程()并尝试将代码改编为类似的问题 在本教程中,将在数据集上开发一个统计模型,然后使用该统计模型预测3条新闻观察结果。然后,我们绘制这3个观察结果:(R) 向图中添加置信区间,r,ggplot2,data-visualization,confidence-interval,R,Ggplot2,Data Visualization,Confidence Interval,我正在使用R。我在这里遵循本教程()并尝试将代码改编为类似的问题 在本教程中,将在数据集上开发一个统计模型,然后使用该统计模型预测3条新闻观察结果。然后,我们绘制这3个观察结果: #load libraries library(survival) library(dplyr) library(ranger) library(data.table) library(ggplot2) #use the built in "lung" data set #remove m
#load libraries
library(survival)
library(dplyr)
library(ranger)
library(data.table)
library(ggplot2)
#use the built in "lung" data set
#remove missing values (dataset is called "a")
a = na.omit(lung)
#create id variable
a$ID <- seq_along(a[,1])
#create test set with only the first 3 rows
new = a[1:3,]
#create a training set by removing first three rows
a = a[-c(1:3),]
#fit survival model (random survival forest)
r_fit <- ranger(Surv(time,status) ~ age + sex + ph.ecog + ph.karno + pat.karno + meal.cal + wt.loss, data = a, mtry = 4, importance = "permutation", splitrule = "extratrees", verbose = TRUE)
#create new intermediate variables required for the survival curves
death_times <- r_fit$unique.death.times
surv_prob <-data.frame(r_fit$survival)
avg_prob <- sapply(surv_prob, mean)
#use survival model to produce estimated survival curves for the first three observations
pred <- predict(r_fit, new, type = 'response')$survival
pred <- data.table(pred)
colnames(pred) <- as.character(r_fit$unique.death.times)
#plot the results for these 3 patients
plot(r_fit$unique.death.times, pred[1,], type = "l", col = "red")
lines(r_fit$unique.death.times, r_fit$survival[2,], type = "l", col = "green")
lines(r_fit$unique.death.times, r_fit$survival[3,], type = "l", col = "blue")
#加载库
图书馆(生存)
图书馆(dplyr)
图书馆(游侠)
库(数据表)
图书馆(GG2)
#使用内置的“肺”数据集
#删除缺少的值(数据集称为“a”)
a=不适用。省略(肺)
#创建id变量
a$ID如果使用ggplot创建绘图,可以使用geom_功能区函数绘制置信区间,如下所示:
ggplot(data=...)+
geom_line(aes(x=..., y=...),color=...)+
geom_ribbon(aes(x=.. ,ymin =.., ymax =..), fill=.. , alpha =.. )+
geom_line(aes(x=..., y=...),color=...)+
geom_ribbon(aes(x=.. ,ymin =.., ymax =..), fill=.. , alpha =.. )
您可以将+置于geom_线之后,并对每次观察重复相同的步骤。
您还可以检查:
和
谢谢您的回答!我试图根据ggplot转换代码,但无法使其正常工作。你能建议怎么做吗?感谢您没有用行(r_fit$unique.death.times,r_fit$survival[2,],type=“l”,col=“green”)
绘制单个预测,它应该是行(r_fit$unique.death.times,pred[2,],type=“l”,col=“green”)
第二,您显示的置信区间是每个地层中不同样本的平均值,然而,您现在所寻找的是每个预测的置信区间,它是完全不同的。您是否意识到这些差异?要计算生存模型的预测误差并非微不足道,在predict.ranger
手册中,您可以看到它不是为生存而实现的,即类型='se',将返回预测的标准误差(仅限回归)代码>