我正在尝试为魏布尔概率图创建基础图。我一直在探索R中的survival
软件包,但尚未找到我需要的确切工具。到目前为止,我已经能够手动重新创建所需的绘图(这很糟糕-大量的硬编码,一点都不灵活,而且看起来很糟糕)。
我的猜测是,有一个用于创建此基础图的程序包,带有网格线,但我还没有发现它。
这是我需要绘制的图像,它称为"Weibull probability plotting paper"
在ggplot2
或survival
包(或其他任何基于R图形的文件)中是否可以创建该图?从那里,我可以叠加点。
请记住,我最后创建的图形将需要与Shiny
兼容。谢谢。
作为参考,这是我手动使用ggplot2
设法创建的丑陋图。
另外,请注意,由于这是一个非常复杂的问题,我无法提供可重现的代码示例,我正在寻找基本的可重现基本图。
更新
我正在寻找产生此图的内容,这是我手工制作地雷的一些示例,请注意,它不是完全可复制的。
这是我设置y轴刻度线的方法:
yticks <- c(log(-log(1-0.0001)), log(-log(1-0.001)), log(-log(1-0.005)), log(-log(1-0.010)), log(-log(1-0.05)), log(-log(1-0.10)),
log(-log(1-0.50)), log(-log(1-0.90)), log(-log(1-0.99)))
以下是y标签:
ylabs <- c('0.01','0.1','0.5','1','5','10','50','90','99')
以下是创建次要网格线的方法:
yminorticks <- c(
log(-log(1-0.00001)),log(-log(1-0.00002)),log(-log(1-0.00003)),log(-log(1-0.00004)),log(-log(1-0.00005)),log(-log(1-0.00006)),log(-log(1-0.00007)),log(-log(1-0.00008)),log(-log(1-0.00009)),
log(-log(1-0.0001 )),log(-log(1-0.0002)),log(-log(1-0.0003)),log(-log(1-0.0004)),log(-log(1-0.0005)),log(-log(1-0.0006)),log(-log(1-0.0007)),log(-log(1-0.0008)),log(-log(1-0.0009)),
log(-log(1-0.001)),log(-log(1-0.002)),log(-log(1-0.003)),log(-log(1-0.004)),log(-log(1-0.005)),log(-log(1-0.006)),log(-log(1-0.007)),log(-log(1-0.008)),log(-log(1-0.009)),
log(-log(1-0.01)),log(-log(1-0.02)),log(-log(1-0.03)),log(-log(1-0.04)),log(-log(1-0.05)),log(-log(1-0.06)),log(-log(1-0.07)),log(-log(1-0.08)),log(-log(1-0.09)),
log(-log(1-0.10)),log(-log(1-0.20)),log(-log(1-0.30)),log(-log(1-0.40)),log(-log(1-0.50)),log(-log(1-0.60)),log(-log(1-0.70)),log(-log(1-0.80)),log(-log(1-0.90)))
答案 0 :(得分:0)
有一个软件包weibullR
,它将帮助您绘制不可靠性与时间的关系。
library(WeibullR)
df <- data.frame(time = c(10000, 10000, 20000, 20000, 30000, 30000, 30000, 30000,
40000, 50000, 50000, 60000, 70000, 70000, 70000, 70000,
80000, 80000, 80000, 80000, 90000, 90000, 100000),
event = rep(1, 23))
weibl <- 1- wblr(df,
col="darkgreen",
label="censored dataset",
dist = "weibull2p",
ylab = "check")
weibl_fit <- wblr.fit(weR, col = "Red", method.fit = "rr")
data <- wblr.conf(weibl_fit, col="blue")
plot(data)