Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(R) 向图中添加置信区间_R_Ggplot2_Data Visualization_Confidence Interval - Fatal编程技术网

(R) 向图中添加置信区间

(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

我正在使用R。我在这里遵循本教程()并尝试将代码改编为类似的问题

在本教程中,将在数据集上开发一个统计模型,然后使用该统计模型预测3条新闻观察结果。然后,我们绘制这3个观察结果:

#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',将返回预测的标准误差(仅限回归)