r - 使用 VGAM 包在 R 中创建可信区间
问题描述
使用我的数据,我使用 VGAM 包创建了对数刻度(限制/比例赔率)累积概率和无限制累积概率,如下所示(使用模拟数据进行):
vglm(data[,2]~log(data[,1]),cumulative(link='probit',parallel = TRUE, reverse = TRUE))
vglm(data[,2]~data[,1],cumulative(link='probit',parallel = FALSE, reverse = TRUE))
#Results from log probit (int = intercept; slope = slope)
intlog1 <- 13.524476
intlog2 <- 15.273834
slopelog <- 3.955213
#Results from unrestricted (int = intercept; slope = slope)
int1 <- 3.62633019
int2 <- 4.30913284
slope <- 0.09444457
slope2 <- 0.07985183
#Creating the plots
plot.unrest = function ()
{
age = seq(0, 100, 0.1)
p1 = 1 - plnorm(age, intlog1/slopelog,1/slopelog)
p2 = 1 - plnorm(age,intlog2/slopelog,1/slopelog)
plot(age, p1, type = "l", ylim = c(0, 1), main = "Data", xlab = "Age", ylab = "Probability in Stage",col='gray',lwd = 2)
lines(age, p2 - p1, lty = 3, lwd = 2, col = 'gray')
lines(age, 1 - p2, lty = 2, lwd = 2, col = 'gray')
legend(x = 75, y = 0.5, c("P(Stage 1)", "P(Stage 2)", "P(Stage 3)"), lwd = rep(2, 3), lty = c(1, 3, 2), bty = "n")
p1 = 1 - pnorm(age,int1/slope1, 1/slope1)
p2 = 1 - pnorm(age,int2/slope2, 1/slope2)
lines(age, p1, lwd=2)
lines(age, p2 - p1, lty = 3, lwd = 2)
lines(age, 1 - p2 , lty = 2, lwd = 2)
}
plot.unrest()
我也想绘制 95% 的可信区间,但我不知道如何。我了解confintvglm
计算它,但我不确定如何正确使用和绘制它。
解决方案
推荐阅读
- kubernetes - 从 k8s 入口动态添加/删除命名主机
- r - 在保留组的同时填充数字变量
- firebase - Firebase 云消息推送通知
- plot - 如何在 Xmgrace 中编写 epsilon?
- java - NamedJDBCTemplate 参数是列表的列表
- php - 哪个功能,受保护的或私有的更安全?
- javascript - 为什么我的结果没有从我的数据库中显示出来?
- c# - SqlParameter 设置值不起作用
- angular - Angular Material mat-form-field 多行占位符文本
- python - sys.path.append 在 Flask 中导致 500 错误