knitr::opts_chunk$set(echo=FALSE, warning=FALSE, message=FALSE, fig.pos = 'h', fig.align = 'center', fig.height = 3, fig.width = 4)
mydf <- data.frame( fit$vals[expert, ], fit$probs[expert, ]) colnames(mydf) <- c( "$x$", "$P(X\\le x)$") knitr::kable(mydf)
if(fit$limits[expert, 1] == 0){ x <- paste0("x") lower <- "`"}else{ lower <- paste0("`", fit$limits[expert, 1], " + ")} if(fit$limits[expert, 1] > 0){ x <- paste0("(x-", fit$limits[expert, 1],")")} if(fit$limits[expert, 1] < 0){ x <- paste0("(x+", abs(fit$limits[expert, 1]),")")} if(fit$limits[expert, 2] < Inf){ xMirror <- paste0("(", fit$limits[expert, 2],"-x)") upper <- paste0("`", fit$limits[expert, 2], " - ") }
lx <- min(fit$vals[expert, ]) ux <- max(fit$vals[expert, ])
All parameter values reported to r sf
significant figures.
plotfit(fit, ex = expert, d = "normal")
mu <- signif(fit$Normal[expert, 1], sf) sigsq <- signif(fit$Normal[expert, 2]^2, sf)
$$
f_X(x) = \frac{1}{\sqrt{2\pi\sigma^2}}
\exp\left(-\frac{1}{2 \sigma^2}(x - \mu)^2\right),\quad -\infty<x<\infty,
$$
with
\begin{align}
\mu &= r mu
,\
\sigma^2 &= r sigsq
.
\end{align}
Sample n = 1000
random values with the command
rnorm(n = 1000, mean =
r mu, sd = sqrt(
r sigsq))
m <- signif(fit$Student.t[expert, 1], 3) s <- signif(fit$Student.t[expert, 2], 3) tdf <- fit$Student.t[expert, 3]
plotfit(fit, ex = expert, d = "t")
$$
f_X(x) = \frac{\Gamma((\nu + 1)/2)}{\Gamma(\nu/2)\sigma\sqrt{\nu \pi}} \left(1 + \frac{1}{\nu}\left(\frac{x - \mu}{\sigma}\right)^2\right)^{-(\nu + 1)/2},\quad -\infty<x<\infty,
$$
with
\begin{align}
\nu &= r tdf
,\
\mu &= r m
,\
\sigma &= r s
.\
\end{align}
Sample n = 1000
random values with the command
r m
+
r s* rt(n = 1000, df =
r tdf)
if(is.na(fit$ssq[expert, 4])){ equationLogNormal <- "Distribution not fitted. Argument `lower` needs to be specified in the `fitdist` command." samplingLogNormal <- NULL samplingLogNormalText <- NULL shiftLognormal <- NULL }else{ mu <- signif(fit$Log.normal[expert, 1], 3) sigsq <- signif(fit$Log.normal[expert, 2]^2, 3) equationLogNormal <- paste0("$$f_X(x) = \\frac{1}{", x, "} \\times \\frac{1}{\\sqrt{2\\pi\\sigma^2}} \\exp\\left(-\\frac{1}{2\\sigma^2}(\\ln ", x," - \\mu)^2\\right), \\quad x >", fit$limits[expert, 1],"$$ and $f_X(x)=0$ otherwise, with $$\\mu = ", mu,"$$ $$\\sigma^2 = ", sigsq, "$$") samplingLogNormal <- paste0(lower, " rlnorm(n = 1000, meanlog = ", mu,", sdlog = sqrt(", sigsq,"))`" ) samplingLogNormalText <- "Sample `n = 1000` random values with the command" if(fit$limits[expert, 1] != 0){ shiftLognormal <- paste0("Log normal distribution shifted to have support over the interval $(", fit$limits[expert, 1], ",\\, \\infty )$.") }else{ shiftLognormal <- NULL } }
r paste(shiftLognormal)
if(!is.na(fit$ssq[expert, 4])){ plotfit(fit, ex = expert, d = "lognormal") }
r paste(equationLogNormal)
r paste(samplingLogNormalText)
r paste(samplingLogNormal)
if(is.na(fit$ssq[expert, 3])){ equationGamma <- "Distribution not fitted. Argument `lower` needs to be specified in the `fitdist` command." samplingGamma <- NULL samplingGammaText <- NULL shiftGamma <- NULL }else{ shape <- signif(fit$Gamma[expert, 1], 3) rate <- signif(fit$Gamma[expert, 2], 3) equationGamma <- paste0("$$f_X(x) =\\frac{\\beta ^ {\\alpha}}{\\Gamma(\\alpha)}", x, "^{\\alpha - 1} \\exp\\left(- \\beta ", x,"\\right), \\quad x >", fit$limits[expert, 1],"$$ and $f_X(x)=0$ otherwise, with $$\\alpha = ", shape,"$$ $$\\beta = ", rate, "$$") samplingGamma <- paste0(lower, " rgamma(n = 1000, shape = ", shape,", rate = ", rate,")`" ) samplingGammaText <- "Sample `n = 1000` random values with the command" if(fit$limits[expert, 1] != 0){ shiftGamma <- paste0("Gamma distribution shifted to have support over the interval $(", fit$limits[expert, 1], ",\\, \\infty )$.") }else{ shiftGamma <- NULL } }
r paste(shiftGamma)
if(!is.na(fit$ssq[expert, 3])){ plotfit(fit, ex = expert, d = "gamma") }
r paste(equationGamma)
r paste(samplingGammaText)
r paste(samplingGamma)
if(is.na(fit$ssq[expert, 4])){ equationLogStudentT <- "Distribution not fitted. Argument `lower` needs to be specified in the `fitdist` command." samplingLogStudentT <- NULL samplingLogStudentTText <- NULL shiftLogStudentT <- NULL }else{ m <- signif(fit$Log.Student.t[expert, 1], 3) s <- signif(fit$Log.Student.t[expert, 2], 3) tdf <- fit$Log.Student.t[expert, 3] equationLogStudentT <- paste0("$$f_X(x) =\\frac{1}{", x, "} \\times \\frac{\\Gamma((\\nu + 1)/2)}{\\Gamma(\\nu/2)\\times\\sigma\\times \\sqrt{\\nu \\pi}} \\left(1 + \\frac{1}{\\nu}\\left(\\frac{\\ln ", x, " - \\mu}{\\sigma}\\right)^2\\right)^{-(\\nu + 1)/2}, \\quad x >", fit$limits[expert, 1],"$$ and $f_X(x)=0$ otherwise, with $$\\nu = ", tdf,"$$ $$\\mu = ", m, "$$ $$\\sigma = ", s , ".$$") samplingLogStudentT <- paste0(lower, " exp(", m, " + ", s, " * rt(n = 1000, df = ", tdf,"))`" ) samplingLogStudentTText <- "Sample `n = 1000` random values with the command" if(fit$limits[expert, 1] != 0){ shiftLogStudentT <- paste0("Log Student-$t$ distribution shifted to have support over the interval $(", fit$limits[expert, 1], ",\\, \\infty )$.") }else{ shiftLogStudentT <- NULL } }
r paste(shiftLogStudentT)
if(!is.na(fit$ssq[expert, "logt"])){ plotfit(fit, ex = expert, d = "logt") }
r paste(equationLogStudentT)
r paste(samplingLogStudentTText)
r paste(samplingLogStudentT)
if(fit$limits[expert, 1] == 0) x <- paste0("x") if(fit$limits[expert, 1] > 0) x <- paste0("x-", fit$limits[1, expert]) if(fit$limits[expert, 1] < 0) x <- paste0("x+", abs(fit$limits[1, expert])) if(fit$limits[expert, 2] < Inf & fit$limits[expert, 1] > -Inf){ r <- fit$limits[expert, 2] - fit$limits[expert, 1] if(r !=1){ mult = paste0(r, " *")}else{ mult = "" } } shape1 <- signif(fit$Beta[expert, 1], 3) shape2 <- signif(fit$Beta[expert, 2], 3)
if(is.na(fit$ssq[expert, 6])){ scalingBeta <- NULL equationBeta <- "Distribution not fitted. Arguments `lower` and `upper` need to be specified in the `fitdist` command." samplingBeta <- NULL samplingBetaText <- NULL }else{ if(r == 1 & fit$limits[expert, 1] == 0){ equationBeta <- paste0("$$f_X(x) = \\frac{\\Gamma(\\alpha + \\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)}x ^{\\alpha - 1} \\left(1 - x\\right)^{\\beta - 1}, \\quad 0 < x < 1, $$ and $f_X(x) = 0$ otherwise, with $$\\alpha = ", shape1, ",$$ $$ \\beta = ", shape2, ".$$") scalingBeta <- NULL } if(r == 1 & fit$limits[expert, 1] != 0){ equationBeta <- paste0("$$f_X(x) = \\frac{\\Gamma(\\alpha + \\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)} \\left(", x,"\\right) ^{\\alpha - 1} \\left(1 - \\left(", x,"\\right)\\right)^{\\beta - 1}, \\quad ", fit$limits[expert, 1]," < x <", fit$limits[expert, 2],",$$ and $f_X(x) = 0$ otherwise, with $$\\alpha = ", shape1, ",$$ $$ \\beta = ", shape2, ".$$") scalingBeta <- paste0("Fitted beta distribution is scaled to the interval [", fit$limits[expert, 1], ", ", fit$limits[expert, 2], "].") } if(r !=1){ equationBeta <- paste0("$$f_X(x) = \\frac{1}{", r, "}\\times\\frac{\\Gamma(\\alpha + \\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)} \\left(\\frac{", x,"}{", r,"}\\right) ^{\\alpha - 1} \\left(1 - \\left(\\frac{", x,"}{", r,"}\\right)\\right)^{\\beta - 1}, \\quad ", fit$limits[expert, 1]," < x <", fit$limits[expert, 2],",$$ and $f_X(x) = 0$ otherwise, with $$\\alpha = ", shape1, ",$$ $$ \\beta = ", shape2, ".$$") scalingBeta <- paste0("Fitted beta distribution is scaled to the interval [", fit$limits[expert, 1], ", ", fit$limits[expert, 2], "].") } samplingBeta <- paste0(lower, mult, " rbeta(n = 1000, shape1 = ", shape1, ", shape2 = ", shape2, ")`") samplingBetaText <- "Sample `n = 1000` random values with the command" }
r paste(scalingBeta)
if(!is.na(fit$ssq[expert, "beta"])){ plotfit(fit, ex = expert, d = "beta") }
r paste(equationBeta)
r paste(samplingBetaText)
r paste(samplingBeta)
if(is.na(fit$ssq[expert, "mirrorgamma"])){ equationMirrorGamma <- "Distribution not fitted. Argument `upper` needs to be specified in the `fitdist` command." samplingMirrorGamma <- NULL samplingMirrorGammaText <- NULL shiftMirrorGamma <- NULL }else{ shape <- signif(fit$mirrorgamma[expert, 1], 3) rate <- signif(fit$mirrorgamma[expert, 2], 3) equationMirrorGamma <- paste0("$$f_X(x) =\\frac{\\beta ^ {\\alpha}}{\\Gamma(\\alpha)}", xMirror, "^{\\alpha - 1} \\exp\\left(- \\beta ", xMirror,"\\right), \\quad x <", fit$limits[expert, 2],"$$ and $f_X(x)=0$ otherwise, with $$\\alpha = ", shape,"$$ $$\\beta = ", rate, "$$") samplingMirrorGamma <- paste0(upper, " rgamma(n = 1000, shape = ", shape,", rate = ", rate,")`" ) samplingMirrorGammaText <- "Sample `n = 1000` random values with the command" shiftMirrorGamma <- paste0("Gamma distribution fitted to ", fit$limits[expert, 2]," - $X$.") }
r paste(shiftMirrorGamma)
if(!is.na(fit$ssq[expert, "mirrorgamma"])){ plotfit(fit, ex = expert, d = "mirrorgamma") }
r paste(equationMirrorGamma)
r paste(samplingMirrorGammaText)
r paste(samplingMirrorGamma)
if(is.na(fit$ssq[expert, "mirrorlognormal"])){ equationMirrorLogNormal <- "Distribution not fitted. Argument `upper` needs to be specified in the `fitdist` command." samplingMirrorLogNormal <- NULL samplingMirrorLogNormalText <- NULL shiftMirrorLognormal <- NULL }else{ mu <- signif(fit$mirrorlognormal[expert, 1], 3) sigsq <- signif(fit$mirrorlognormal[expert, 2]^2, 3) equationMirrorLogNormal <- paste0("$$f_X(x) = \\frac{1}{", xMirror, "} \\times \\frac{1}{\\sqrt{2\\pi\\sigma^2}} \\exp\\left(-\\frac{1}{2\\sigma^2}(\\ln ", xMirror," - \\mu)^2\\right), \\quad x <", fit$limits[expert, 2],"$$ and $f_X(x)=0$ otherwise, with $$\\mu = ", mu,"$$ $$\\sigma^2 = ", sigsq, "$$") samplingMirrorLogNormal <- paste0(upper, " rlnorm(n = 1000, meanlog = ", mu,", sdlog = sqrt(", sigsq,"))`" ) samplingMirrorLogNormalText <- "Sample `n = 1000` random values with the command" shiftMirrorLognormal <- paste0("Normal distribution fitted to $\\log$ ( ", fit$limits[expert, 2]," - $X$).") }
r paste(shiftMirrorLognormal)
if(!is.na(fit$ssq[expert, "mirrorlognormal"])){ plotfit(fit, ex = expert, d = "mirrorlognormal") }
r paste(equationMirrorLogNormal)
r paste(samplingMirrorLogNormalText)
r paste(samplingMirrorLogNormal)
if(is.na(fit$ssq[expert, "mirrorlogt"])){ equationMirrorLogStudentT <- "Distribution not fitted. Argument `lower` needs to be specified in the `fitdist` command." samplingMirrorLogStudentT <- NULL samplingMirrorLogStudentTText <- NULL shiftMirrorLogStudentT <- NULL }else{ m <- signif(fit$mirrorlogt[expert, 1], 3) s <- signif(fit$mirrorlogt[expert, 2], 3) tdf <- fit$mirrorlogt[expert, 3] equationMirrorLogStudentT <- paste0("$$f_X(x) =\\frac{1}{", xMirror, "} \\times \\frac{\\Gamma((\\nu + 1)/2)}{\\Gamma(\\nu/2)\\times\\sigma\\times \\sqrt{\\nu \\pi}} \\left(1 + \\frac{1}{\\nu}\\left(\\frac{\\ln ", xMirror, " - \\mu}{\\sigma}\\right)^2\\right)^{-(\\nu + 1)/2}, \\quad x <", fit$limits[expert, 2],"$$ and $f_X(x)=0$ otherwise, with $$\\nu = ", tdf,"$$ $$\\mu = ", m, "$$ $$\\sigma = ", s , ".$$") samplingMirrorLogStudentT <- paste0(upper, " exp(", m, " + ", s, " * rt(n = 1000, df = ", tdf,"))`" ) samplingMirrorLogStudentTText <- "Sample `n = 1000` random values with the command" shiftMirrorLogStudentT <- paste0("Student-$t$ distribution fitted to $\\log$ ( ", fit$limits[expert, 2]," - $X$).") }
r paste(shiftMirrorLogStudentT)
if(!is.na(fit$ssq[expert, "mirrorlogt"])){ plotfit(fit, ex = expert, d = "mirrorlogt") }
r paste(equationMirrorLogStudentT)
r paste(samplingMirrorLogStudentTText)
r paste(samplingMirrorLogStudentT)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.