当我运行下面的代码时,有时没有问题,有时我会收到错误:
Error in stats::optim(x = c(16.0647119767221, 14.2739364736729, 37.6134235608159, : L-BFGS-B needs finite values of 'fn'
我明白这意味着我在某处生成一个大于.Machine$double.xmax
(我机器上的1.797693e+308
)的值,但我无法弄清楚我必须限制哪个参数来防止这个。有什么建议吗?
library(MASS)
K <- c(109.106,121,10,38,61,13,45,40,12,33,9,18,44,24,23,7,85)
weib <- fitdistr(K,densfun=dweibull,start=list(scale=20,shape=1))
# Bootstrapping the pointwise confidence intervals
set.seed(123)
rw.small <- rweibull(100,scale=weib$estimate[1], shape=weib$estimate[2])
xs <- seq(0, round(max(K)+25,-1), length=500)
boot.cdf <- sapply(1:1000,function(i){
xi <- sample(rw.small, size=length(rw.small), replace=TRUE)
MLE.est <- suppressWarnings(fitdistr(xi, densfun="weibull", lower = 0))
pweibull(xs, shape=as.numeric(MLE.est$estimate[1]), scale=as.numeric(MLE.est$estimate[2]))
})