Weibull函数为直线(R中的ggplot2为双对数)

时间:2018-08-18 18:44:33

标签: r ggplot2 plot probability weibull

我希望R中有更多知识渊博的人可以提供帮助。

问题:我现在正在尝试用ggplott2绘制威布尔概率图。 2对2因子Weibull在对数图中应显示为一条直线。但这不是笔直的,也不是直线消失的。例如,像这样的https://www.mathworks.com/help/stats/wblplot.html

背景:我正在使用flexsurv和生存软件包进行一些实时计算。但是我想使用ggplot2环境来显示更多信息。最后,我想将故障添加到先前计算中适合的行中。

欢迎提出所有建议。 :)

这是我的示例代码:

library(ggplot2)

ggplot(data.frame(x=c(0,30)), aes(x=x)) +
  stat_function(fun = dweibull, args = list(shape = 2, scale = 15)) 
  #coord_trans(x = "log10", y = "log10") # without the option the function appears, but not as straight line 

2 个答案:

答案 0 :(得分:2)

QQ情节

(从该Matlab示例中)您正在寻找的是一个QQ图,ggplot可以通过geom_qqstat_qq(在这里的文档:https://ggplot2.tidyverse.org/reference/geom_qq.html)来完成:

ggplot(data.frame(x = rweibull(n = 100, shape = 1.2, scale = 1.5)), aes(sample = x)) + 
  stat_qq(distribution = stats::qweibull, dparams = list(shape = 1.2, scale = 1.5))

祝你好运!

答案 1 :(得分:0)

感谢您的答复!坦白地说,它并不能完全按照我的预期工作。这不应该说明解决方案的建议,而应说明我对ggplot2采取的方法。

高层目标是生成一个与初始问题中的参考非常相似的Weibull“失效时间”图。这里的解决方案对我来说非常有效:WeibullR,最近在CRAN,http://www.openreliability.org/weibull-r-weibull-analysis-on-r/上可用 它采用的是Robert B. Abernethy博士的“新威布尔手册,第五版”。

我不确定在sackoverflow情况下如何处理答案,因为答案与问题转向不同...

为macOS进行安装需要一些步骤,但我认为,由于图形质量和分析速度的原因,该操作很麻烦:

在终端机中:

brew install gcc

对于macOS,必须使用C ++编译某些模块:若要将R指向正确的编译器,请添加〜/ .R / Makevars

VER= 
CC=gcc$(VER)
CXX=g++$(VER)
CFLAGS=-mtune=native -g -O2 -Wall -pedantic -Wconversion
CXXFLAGS=-mtune=native -g -O2 -Wall -pedantic -Wconversion
# In my case
FLIBS=-L/usr/local/Cellar/gcc/8.2.0/lib/gcc/8

在R控制台中:

install.packages("Rcpp")
install.packages("RcppArmadillo")
install.packages("abrem", repos="http://R-Forge.R-project.org")