knitr::opts_chunk$set(echo=FALSE, warning=FALSE, message=FALSE, fig.pos = 'h', fig.align = 'center', fig.height = 3, fig.width = 4)
expert <- 1 sf <- 3 mydf <- data.frame( params$fit1$vals[expert, ], params$fit1$probs[expert, ]) colnames(mydf) <- c( "$x$", "$P(X\\le x)$") knitr::kable(mydf)
if(params$fit1$limits[expert, 1] == 0){ x <- paste0("x") lower <- "`"}else{ lower <- paste0("`", params$fit1$limits[expert, 1], " + ")} if(params$fit1$limits[expert, 1] > 0){ x <- paste0("(x-", params$fit1$limits[expert, 1],")")} if(params$fit1$limits[expert, 1] < 0){ x <- paste0("(x+", abs(params$fit1$limits[expert, 1]),")")} xMirror <- paste0("(", params$fit1$limits[expert, 2],"-x)") upper <- paste0("`", params$fit1$limits[expert, 2], " - ")
lx <- min(params$fit1$vals[expert, ]) ux <- max(params$fit1$vals[expert, ])
All parameter values reported to 3 significant figures.
plotfit(params$fit1, d = "normal")
mu <- signif(params$fit1$Normal[expert, 1], sf) sigsq <- signif(params$fit1$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))
plotfit(params$fit1, d = "t")
m <- signif(params$fit1$Student.t[expert, 1], 3) s <- signif(params$fit1$Student.t[expert, 2], 3) tdf <- params$fit1$Student.t[expert, 3]
$$
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(params$fit1$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(params$fit1$Log.normal[expert, 1], 3) sigsq <- signif(params$fit1$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 >", params$fit1$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(params$fit1$limits[expert, 1] != 0){ shiftLognormal <- paste0("Log normal distribution shifted to have support over the interval $(", params$fit1$limits[expert, 1], ",\\, \\infty )$.") }else{ shiftLognormal <- NULL } }
r paste(shiftLognormal)
if(!is.na(params$fit1$ssq[expert, 4])){ plotfit(params$fit1, d = "lognormal") }
r paste(equationLogNormal)
r paste(samplingLogNormalText)
r paste(samplingLogNormal)
if(is.na(params$fit1$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(params$fit1$Gamma[expert, 1], 3) rate <- signif(params$fit1$Gamma[expert, 2], 3) equationGamma <- paste0("$$f_X(x) =\\frac{\\beta ^ {\\alpha}}{\\Gamma(\\alpha)}", x, "^{\\alpha - 1} \\exp\\left(- \\beta ", x,"\\right), \\quad x >", params$fit1$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(params$fit1$limits[expert, 1] != 0){ shiftGamma <- paste0("Gamma distribution shifted to have support over the interval $(", params$fit1$limits[expert, 1], ",\\, \\infty )$.") }else{ shiftGamma <- NULL } }
r paste(shiftGamma)
if(!is.na(params$fit1$ssq[expert, 3])){ plotfit(params$fit1, d = "gamma") }
r paste(equationGamma)
r paste(samplingGammaText)
r paste(samplingGamma)
if(is.na(params$fit1$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(params$fit1$Log.Student.t[expert, 1], 3) s <- signif(params$fit1$Log.Student.t[expert, 2], 3) tdf <- params$fit1$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 >", params$fit1$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(params$fit1$limits[expert, 1] != 0){ shiftLogStudentT <- paste0("Log Student-$t$ distribution shifted to have support over the interval $(", params$fit1$limits[expert, 1], ",\\, \\infty )$.") }else{ shiftLogStudentT <- NULL } }
r paste(shiftLogStudentT)
if(!is.na(params$fit1$ssq[expert, "logt"])){ plotfit(params$fit1, d = "logt") }
r paste(equationLogStudentT)
r paste(samplingLogStudentTText)
r paste(samplingLogStudentT)
if(params$fit1$limits[expert, 1] == 0) x <- paste0("x") if(params$fit1$limits[expert, 1] > 0) x <- paste0("x-", params$fit1$limits[1, expert]) if(params$fit1$limits[expert, 1] < 0) x <- paste0("x+", abs(params$fit1$limits[1, expert])) if(params$fit1$limits[expert, 2] < Inf & params$fit1$limits[expert, 1] > -Inf){ r <- params$fit1$limits[expert, 2] - params$fit1$limits[expert, 1] if(r !=1){ mult = paste0(r, " *")}else{ mult = "" } } shape1 <- signif(params$fit1$Beta[expert, 1], 3) shape2 <- signif(params$fit1$Beta[expert, 2], 3)
if(is.na(params$fit1$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 & params$fit1$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 & params$fit1$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 ", params$fit1$limits[expert, 1]," < x <", params$fit1$limits[expert, 2],",$$ and $f_X(x) = 0$ otherwise, with $$\\alpha = ", shape1, ",$$ $$ \\beta = ", shape2, ".$$") scalingBeta <- paste0("Fitted beta distribution is scaled to the interval [", params$fit1$limits[expert, 1], ", ", params$fit1$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 ", params$fit1$limits[expert, 1]," < x <", params$fit1$limits[expert, 2],",$$ and $f_X(x) = 0$ otherwise, with $$\\alpha = ", shape1, ",$$ $$ \\beta = ", shape2, ".$$") scalingBeta <- paste0("Fitted beta distribution is scaled to the interval [", params$fit1$limits[expert, 1], ", ", params$fit1$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(params$fit1$ssq[expert, "beta"])){ plotfit(params$fit1, d = "beta") }
r paste(equationBeta)
r paste(samplingBetaText)
r paste(samplingBeta)
if(is.na(params$fit1$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(params$fit1$mirrorgamma[expert, 1], 3) rate <- signif(params$fit1$mirrorgamma[expert, 2], 3) equationMirrorGamma <- paste0("$$f_X(x) =\\frac{\\beta ^ {\\alpha}}{\\Gamma(\\alpha)}", xMirror, "^{\\alpha - 1} \\exp\\left(- \\beta ", xMirror,"\\right), \\quad x <", params$fit1$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 ", params$fit1$limits[expert, 2]," - $X$.") }
r paste(shiftMirrorGamma)
if(!is.na(params$fit1$ssq[expert, "mirrorgamma"])){ plotfit(params$fit1, d = "mirrorgamma") }
r paste(equationMirrorGamma)
r paste(samplingMirrorGammaText)
r paste(samplingMirrorGamma)
if(is.na(params$fit1$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(params$fit1$mirrorlognormal[expert, 1], 3) sigsq <- signif(params$fit1$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 <", params$fit1$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$ ( ", params$fit1$limits[expert, 2]," - $X$).") }
r paste(shiftMirrorLognormal)
if(!is.na(params$fit1$ssq[expert, "mirrorlognormal"])){ plotfit(params$fit1, d = "mirrorlognormal") }
r paste(equationMirrorLogNormal)
r paste(samplingMirrorLogNormalText)
r paste(samplingMirrorLogNormal)
if(is.na(params$fit1$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(params$fit1$mirrorlogt[expert, 1], 3) s <- signif(params$fit1$mirrorlogt[expert, 2], 3) tdf <- params$fit1$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 <", params$fit1$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$ ( ", params$fit1$limits[expert, 2]," - $X$).") }
r paste(shiftMirrorLogStudentT)
if(!is.na(params$fit1$ssq[expert, "mirrorlogt"])){ plotfit(params$fit1, d = "mirrorlogt") }
r paste(equationMirrorLogStudentT)
r paste(samplingMirrorLogStudentTText)
r paste(samplingMirrorLogStudentT)
expert <- 1 sf <- 3 mydf <- data.frame( params$fit2$vals[expert, ], params$fit2$probs[expert, ]) colnames(mydf) <- c( "$x$", "$P(X\\le x)$") knitr::kable(mydf)
if(params$fit2$limits[expert, 1] == 0){ x <- paste0("x") lower <- "`"}else{ lower <- paste0("`", params$fit2$limits[expert, 1], " + ")} if(params$fit2$limits[expert, 1] > 0){ x <- paste0("(x-", params$fit2$limits[expert, 1],")")} if(params$fit2$limits[expert, 1] < 0){ x <- paste0("(x+", abs(params$fit2$limits[expert, 1]),")")} xMirror <- paste0("(", params$fit2$limits[expert, 2],"-x)") upper <- paste0("`", params$fit2$limits[expert, 2], " - ")
lx <- min(params$fit2$vals[expert, ]) ux <- max(params$fit2$vals[expert, ])
All parameter values reported to 3 significant figures.
plotfit(params$fit2, d = "normal")
mu <- signif(params$fit2$Normal[expert, 1], sf) sigsq <- signif(params$fit2$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))
plotfit(params$fit2, d = "t")
m <- signif(params$fit2$Student.t[expert, 1], 3) s <- signif(params$fit2$Student.t[expert, 2], 3) tdf <- params$fit2$Student.t[expert, 3]
$$
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(params$fit2$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(params$fit2$Log.normal[expert, 1], 3) sigsq <- signif(params$fit2$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 >", params$fit2$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(params$fit2$limits[expert, 1] != 0){ shiftLognormal <- paste0("Log normal distribution shifted to have support over the interval $(", params$fit2$limits[expert, 1], ",\\, \\infty )$.") }else{ shiftLognormal <- NULL } }
r paste(shiftLognormal)
if(!is.na(params$fit2$ssq[expert, 4])){ plotfit(params$fit2, d = "lognormal") }
r paste(equationLogNormal)
r paste(samplingLogNormalText)
r paste(samplingLogNormal)
if(is.na(params$fit2$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(params$fit2$Gamma[expert, 1], 3) rate <- signif(params$fit2$Gamma[expert, 2], 3) equationGamma <- paste0("$$f_X(x) =\\frac{\\beta ^ {\\alpha}}{\\Gamma(\\alpha)}", x, "^{\\alpha - 1} \\exp\\left(- \\beta ", x,"\\right), \\quad x >", params$fit2$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(params$fit2$limits[expert, 1] != 0){ shiftGamma <- paste0("Gamma distribution shifted to have support over the interval $(", params$fit2$limits[expert, 1], ",\\, \\infty )$.") }else{ shiftGamma <- NULL } }
r paste(shiftGamma)
if(!is.na(params$fit2$ssq[expert, 3])){ plotfit(params$fit2, d = "gamma") }
r paste(equationGamma)
r paste(samplingGammaText)
r paste(samplingGamma)
if(is.na(params$fit2$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(params$fit2$Log.Student.t[expert, 1], 3) s <- signif(params$fit2$Log.Student.t[expert, 2], 3) tdf <- params$fit2$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 >", params$fit2$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(params$fit2$limits[expert, 1] != 0){ shiftLogStudentT <- paste0("Log Student-$t$ distribution shifted to have support over the interval $(", params$fit2$limits[expert, 1], ",\\, \\infty )$.") }else{ shiftLogStudentT <- NULL } }
r paste(shiftLogStudentT)
if(!is.na(params$fit2$ssq[expert, "logt"])){ plotfit(params$fit2, d = "logt") }
r paste(equationLogStudentT)
r paste(samplingLogStudentTText)
r paste(samplingLogStudentT)
if(params$fit2$limits[expert, 1] == 0) x <- paste0("x") if(params$fit2$limits[expert, 1] > 0) x <- paste0("x-", params$fit2$limits[1, expert]) if(params$fit2$limits[expert, 1] < 0) x <- paste0("x+", abs(params$fit2$limits[1, expert])) if(params$fit2$limits[expert, 2] < Inf & params$fit2$limits[expert, 1] > -Inf){ r <- params$fit2$limits[expert, 2] - params$fit2$limits[expert, 1] if(r !=1){ mult = paste0(r, " *")}else{ mult = "" } } shape1 <- signif(params$fit2$Beta[expert, 1], 3) shape2 <- signif(params$fit2$Beta[expert, 2], 3)
if(is.na(params$fit2$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 & params$fit2$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 & params$fit2$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 ", params$fit2$limits[expert, 1]," < x <", params$fit2$limits[expert, 2],",$$ and $f_X(x) = 0$ otherwise, with $$\\alpha = ", shape1, ",$$ $$ \\beta = ", shape2, ".$$") scalingBeta <- paste0("Fitted beta distribution is scaled to the interval [", params$fit2$limits[expert, 1], ", ", params$fit2$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 ", params$fit2$limits[expert, 1]," < x <", params$fit2$limits[expert, 2],",$$ and $f_X(x) = 0$ otherwise, with $$\\alpha = ", shape1, ",$$ $$ \\beta = ", shape2, ".$$") scalingBeta <- paste0("Fitted beta distribution is scaled to the interval [", params$fit2$limits[expert, 1], ", ", params$fit2$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(params$fit2$ssq[expert, "beta"])){ plotfit(params$fit2, d = "beta") }
r paste(equationBeta)
r paste(samplingBetaText)
r paste(samplingBeta)
if(is.na(params$fit2$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(params$fit2$mirrorgamma[expert, 1], 3) rate <- signif(params$fit2$mirrorgamma[expert, 2], 3) equationMirrorGamma <- paste0("$$f_X(x) =\\frac{\\beta ^ {\\alpha}}{\\Gamma(\\alpha)}", xMirror, "^{\\alpha - 1} \\exp\\left(- \\beta ", xMirror,"\\right), \\quad x <", params$fit2$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 ", params$fit2$limits[expert, 2]," - $X$.") }
r paste(shiftMirrorGamma)
if(!is.na(params$fit2$ssq[expert, "mirrorgamma"])){ plotfit(params$fit2, d = "mirrorgamma") }
r paste(equationMirrorGamma)
r paste(samplingMirrorGammaText)
r paste(samplingMirrorGamma)
if(is.na(params$fit2$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(params$fit2$mirrorlognormal[expert, 1], 3) sigsq <- signif(params$fit2$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 <", params$fit2$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$ ( ", params$fit2$limits[expert, 2]," - $X$).") }
r paste(shiftMirrorLognormal)
if(!is.na(params$fit2$ssq[expert, "mirrorlognormal"])){ plotfit(params$fit2, d = "mirrorlognormal") }
r paste(equationMirrorLogNormal)
r paste(samplingMirrorLogNormalText)
r paste(samplingMirrorLogNormal)
if(is.na(params$fit2$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(params$fit2$mirrorlogt[expert, 1], 3) s <- signif(params$fit2$mirrorlogt[expert, 2], 3) tdf <- params$fit2$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 <", params$fit2$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$ ( ", params$fit2$limits[expert, 2]," - $X$).") }
r paste(shiftMirrorLogStudentT)
if(!is.na(params$fit2$ssq[expert, "mirrorlogt"])){ plotfit(params$fit2, d = "mirrorlogt") }
r paste(equationMirrorLogStudentT)
r paste(samplingMirrorLogStudentTText)
r paste(samplingMirrorLogStudentT)
d1 <- switch(params$d[1], "normal" = "normal", "t" = "Student-t", "gamma" = "gamma", "lognormal" = "log normal", "logt" = "log Student-t", "beta" = "beta", "hist" = "histogram", "best" = as.character(params$fit1$best.fitting[1, 1])) d2 <- switch(params$d[2], "normal" = "normal", "t" = "Student-t", "gamma" = "gamma", "lognormal" = "log normal", "logt" = "log Student-t", "beta" = "beta", "hist" = "histogram", "best" = as.character(params$fit2$best.fitting[1, 1]))
Elicited concordance probability:
$$
P({X_1 < m_1,\, X_2 < m_2} \cup{ X_1>m_1, \, X_2 > m_2}) = r params$cp
$$
Joint sample, obtained using a r paste(d1)
distribution for $X_1$ and a r paste(d2)
distribution for $X_2$:
library(ggplot2) conc.probs <- matrix(0, 2, 2) conc.probs[1, 2] <- params$cp df1<-data.frame(copulaSample(params$fit1, params$fit2, cp=conc.probs, n=10000, d=params$d)) annotations <- data.frame( xpos = c(Inf,Inf,-Inf,-Inf), ypos = c(Inf, -Inf,-Inf,Inf), annotateText = as.character(c(params$cp / 2, 0.5 - params$cp /2, params$cp / 2, 0.5 - params$cp /2)), hjustvar = c(1.5, 1.5, -0.5, -0.5) , vjustvar = c(1.5, -0.5, -0.5, 1.5)) p1<-ggplot(data=df1,aes(x=X1, y=X2))+ geom_point(alpha=0.15, colour = "red") + geom_hline(yintercept = params$m2)+ geom_vline(xintercept = params$m1)+ labs(x=expression(X[1]), y = expression(X[2]))+ geom_text(data = annotations, aes(x = xpos, y = ypos, hjust = hjustvar, vjust = vjustvar, label = annotateText), size =10) + xlim(0.95*params$fit1$limits[1, 1], 1.05*params$fit1$limits[1, 2])+ ylim(0.95*params$fit2$limits[1, 1], 1.05*params$fit2$limits[1, 2]) suppressWarnings(suppressMessages(ggExtra::ggMarginal(p1, type = "histogram", fill = "red")))
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.