library(shiny)
ui <- fluidPage(
withMathJax(),
tags$div(HTML("<script type='text/x-mathjax-config'>
MathJax.Hub.Config({
tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
});
</script>")),
br(), br(),
wellPanel(style = "background-color:#acdfe6;",
titlePanel(h2("Exponential Distribution of Random Variables", align = "center",
style = "color:darkred; font-family:verdana;
font-variant: small-caps; font-weight: bold;"))
),
sidebarPanel(style = "background-color:#acdfe6;",
tags$div( h4("User Input Panel", align = "center",
style = "color:darkred; font-family:verdana;
font-variant: small-caps; font-weight: bold;")),
br(),
sliderInput("obs",
"Number of observations (n)",
min = 1,
max = 1000,
value = 100,
animate = list(interval=550, loop=T)),
sliderInput("rate",
"Rate parameter (lambda)",
min = 0.1,
max = 5,
value = 1,
step = 0.1),
br()
),
mainPanel(
style = "background-color:lightgray; text-align: center;",
plotOutput("histPlot", height = "300px"),
plotOutput("densityPlot", height = "300px")
)
)
server <- function(input, output) {
output$histPlot <- renderPlot({
set.seed(3)
dist <- rexp(input$obs, rate = input$rate)
hist(dist,
col = "darkgreen",
main = "Histogram of Exponentially Distributed Random Variables",
xlab = "Values",
ylab = "Frequency")
})
output$densityPlot <- renderPlot({
set.seed(3)
dist <- rexp(input$obs, rate = input$rate)
plot(density(dist),
main = "Density Plot of Exponentially Distributed Random Variables",
xlab = "Values",
ylab = "Density",
col = "red")
lines(density(dist), col = "red", lwd = 2)
})
}
shinyApp(ui = ui, server = server)
Shiny applications not supported in static R Markdown documents
LS0tCnRpdGxlOiAiU2hpbnkgQXBwIERldmVsb3BtZW50IgphdXRob3I6ICJLeWxlIEtub3giCmRhdGU6ICJXZWVrIDEyIgpvdXRwdXQ6CiAgaHRtbF9kb2N1bWVudDogCiAgICB0b2M6IG5vCiAgICB0b2NfZGVwdGg6IDQKICAgIHRvY19mbG9hdDogeWVzCiAgICBmaWdfd2lkdGg6IDYKICAgIG51bWJlcl9zZWN0aW9uczogeWVzCiAgICB0b2NfY29sbGFwc2VkOiB5ZXMKICAgIGNvZGVfZm9sZGluZzogaGlkZQogICAgY29kZV9kb3dubG9hZDogeWVzCiAgICBzbW9vdGhfc2Nyb2xsOiB0cnVlCiAgICB0aGVtZTogcmVhZGFibGUKICAgIGZpZ19oZWlnaHQ6IDgKLS0tCiAgCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KICAKICBkaXYjVE9DIGxpIHsKbGlzdC1zdHlsZTpub25lOwpiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Z3JheTsKYmFja2dyb3VuZC1pbWFnZTpub25lOwpiYWNrZ3JvdW5kLXJlcGVhdDpub25lOwpiYWNrZ3JvdW5kLXBvc2l0aW9uOjA7CmZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwpjb2xvcjogIzc4MGMwYzsKICB9CgovKiBtb3VzZSBvdmVyIGxpbmsgKi8KICBkaXYjVE9DIGE6aG92ZXIgewpjb2xvcjogcmVkOwp9CgovKiB1bnZpc2l0ZWQgbGluayAqLwogIGRpdiNUT0MgYTpsaW5rIHsKY29sb3I6IGJsdWU7Cn0KCgoKaDEudGl0bGUgewogIGZvbnQtc2l6ZTogMjRweDsKICBjb2xvcjogRGFya2JsdWU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwogIGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7Cn0KaDQuYXV0aG9yIHsgCiAgZm9udC1zaXplOiAxOHB4OwogIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOwogIGNvbG9yOiBEYXJrUmVkOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQpoNC5kYXRlIHsgCiAgZm9udC1zaXplOiAxOHB4OwogIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOwogIGNvbG9yOiBEYXJrQmx1ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KaDEgewogIGZvbnQtc2l6ZTogMjJweDsKICBmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsKICBjb2xvcjogZGFya3JlZDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KaDIgeyAvCiAgICBmb250LXNpemU6IDE4cHg7CiAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBUaW1lcywgc2VyaWY7CiAgY29sb3I6IG5hdnk7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQoKaDMgeyAKICBmb250LXNpemU6IDE1cHg7CiAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBUaW1lcywgc2VyaWY7CiAgY29sb3I6IG5hdnk7CiAgdGV4dC1hbGlnbjogbGVmdDsKfQoKaDQgeyAvKiBIZWFkZXIgNCAtIGFuZCB0aGUgYXV0aG9yIGFuZCBkYXRhIGhlYWRlcnMgdXNlIHRoaXMgdG9vICAqLwogICAgZm9udC1zaXplOiAxOHB4OwogIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOwogIGNvbG9yOiBkYXJrcmVkOwogIHRleHQtYWxpZ246IGxlZnQ7Cn0KCi8qIHVudmlzaXRlZCBsaW5rICovCiAgYTpsaW5rIHsKICAgIGNvbG9yOiBncmVlbjsKICB9CgovKiB2aXNpdGVkIGxpbmsgKi8KICBhOnZpc2l0ZWQgewogICAgY29sb3I6IGdyZWVuOwogIH0KCi8qIG1vdXNlIG92ZXIgbGluayAqLwogIGE6aG92ZXIgewogICAgY29sb3I6IHJlZDsKICB9CgovKiBzZWxlY3RlZCBsaW5rICovCiAgYTphY3RpdmUgewogICAgY29sb3I6IHllbGxvdzsKICB9Cgo8L3N0eWxlPgogIAogIApgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0KIyBjb2RlIGNodW5rIHNwZWNpZmllcyB3aGV0aGVyIHRoZSBSIGNvZGUsIHdhcm5pbmdzLCBhbmQgb3V0cHV0IAojIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIG91dHB1dCBmaWxlcy4Kb3B0aW9ucyhyZXBvcyA9IGxpc3QoQ1JBTj0iaHR0cDovL2NyYW4ucnN0dWRpby5jb20vIikpCgppZiAoIXJlcXVpcmUoInRpZHl2ZXJzZSIpKSB7CiAgaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIikKICBsaWJyYXJ5KHRpZHl2ZXJzZSkKfQppZiAoIXJlcXVpcmUoImtuaXRyIikpIHsKICBpbnN0YWxsLnBhY2thZ2VzKCJrbml0ciIpCiAgbGlicmFyeShrbml0cikKfQppZiAoIXJlcXVpcmUoImNvd3Bsb3QiKSkgewogIGluc3RhbGwucGFja2FnZXMoImNvd3Bsb3QiKQogIGxpYnJhcnkoY293cGxvdCkKfQppZiAoIXJlcXVpcmUoImxhdGV4MmV4cCIpKSB7CiAgaW5zdGFsbC5wYWNrYWdlcygibGF0ZXgyZXhwIikKICBsaWJyYXJ5KGxhdGV4MmV4cCkKfQppZiAoIXJlcXVpcmUoInBsb3RseSIpKSB7CiAgaW5zdGFsbC5wYWNrYWdlcygicGxvdGx5IikKICBsaWJyYXJ5KHBsb3RseSkKfQppZiAoIXJlcXVpcmUoImdhcG1pbmRlciIpKSB7CiAgaW5zdGFsbC5wYWNrYWdlcygiZ2FwbWluZGVyIikKICBsaWJyYXJ5KGdhcG1pbmRlcikKfQppZiAoIXJlcXVpcmUoInBuZyIpKSB7CiAgaW5zdGFsbC5wYWNrYWdlcygicG5nIikgICAgICAgICAgICAgIyBJbnN0YWxsIHBuZyBwYWNrYWdlCiAgbGlicmFyeSgicG5nIikKfQppZiAoIXJlcXVpcmUoIlJDdXJsIikpIHsKICBpbnN0YWxsLnBhY2thZ2VzKCJSQ3VybCIpICAgICAgICAgICAgICMgSW5zdGFsbCBSQ3VybCBwYWNrYWdlCiAgbGlicmFyeSgiUkN1cmwiKQp9CmlmICghcmVxdWlyZSgiY29sb3VycGlja2VyIikpIHsKICBpbnN0YWxsLnBhY2thZ2VzKCJjb2xvdXJwaWNrZXIiKSAgICAgICAgICAgICAgCiAgbGlicmFyeSgiY29sb3VycGlja2VyIikKfQppZiAoIXJlcXVpcmUoImdpZnNraSIpKSB7CiAgaW5zdGFsbC5wYWNrYWdlcygiZ2lmc2tpIikgICAgICAgICAgICAgIAogIGxpYnJhcnkoImdpZnNraSIpCn0KaWYgKCFyZXF1aXJlKCJtYWdpY2siKSkgewogIGluc3RhbGwucGFja2FnZXMoIm1hZ2ljayIpICAgICAgICAgICAgICAKICBsaWJyYXJ5KCJtYWdpY2siKQp9CmlmICghcmVxdWlyZSgiZ3JEZXZpY2VzIikpIHsKICBpbnN0YWxsLnBhY2thZ2VzKCJnckRldmljZXMiKSAgICAgICAgICAgICAgCiAgbGlicmFyeSgiZ3JEZXZpY2VzIikKfQojIyMgZ2dwbG90IGFuZCBleHRlbnNpb25zCmlmICghcmVxdWlyZSgiZ2dwbG90MiIpKSB7CiAgaW5zdGFsbC5wYWNrYWdlcygiZ2dwbG90MiIpICAgICAgICAgICAgICAKICBsaWJyYXJ5KCJnZ3Bsb3QyIikKfQppZiAoIXJlcXVpcmUoImdnYW5pbWF0ZSIpKSB7CiAgaW5zdGFsbC5wYWNrYWdlcygiZ2dhbmltYXRlIikgICAgICAgICAgICAgIAogIGxpYnJhcnkoImdnYW5pbWF0ZSIpCn0KaWYgKCFyZXF1aXJlKCJnZ3JpZGdlcyIpKSB7CiAgaW5zdGFsbC5wYWNrYWdlcygiZ2dyaWRnZXMiKSAgICAgICAgICAgICAgCiAgbGlicmFyeSgiZ2dyaWRnZXMiKQp9CmlmICghcmVxdWlyZSgiZHBseXIiKSkgewogIGluc3RhbGwucGFja2FnZXMoImRwbHlyIikgICAgICAgICAgICAgIAogIGxpYnJhcnkoImRwbHlyIikKfQppZiAoIXJlcXVpcmUoImh0bWx0b29scyIpKSB7CiAgaW5zdGFsbC5wYWNrYWdlcygiaHRtbHRvb2xzIikgICAgICAgICAgICAgIAogIGxpYnJhcnkoImh0bWx0b29scyIpCn0KaWYgKCFyZXF1aXJlKCJybWFya2Rvd24iKSkgewogIGluc3RhbGwucGFja2FnZXMoInJtYXJrZG93biIpICAgICAgICAgICAgICAKICBsaWJyYXJ5KCJybWFya2Rvd24iKQp9CgppZiAoIXJlcXVpcmUoInNmIikpIHsKICBpbnN0YWxsLnBhY2thZ2VzKCJzZiIpCiAgbGlicmFyeSgic2YiKQp9CmlmICghcmVxdWlyZSgiZ2VvanNvbmlvIikpIHsKICBpbnN0YWxsLnBhY2thZ2VzKCJnZW9qc29uaW8iKQogIGxpYnJhcnkoImdlb2pzb25pbyIpCn0KaWYgKCFyZXF1aXJlKCJsZWFmbGV0IikpIHsKICBpbnN0YWxsLnBhY2thZ2VzKCJsZWFmbGV0IikKICBsaWJyYXJ5KCJsZWFmbGV0IikKfQppZiAoIXJlcXVpcmUoInNoaW55IikpIHsKICBpbnN0YWxsLnBhY2thZ2VzKCJzaGlueSIpCiAgbGlicmFyeSgic2hpbnkiKQp9CiMga25pdHI6Om9wdHNfa25pdCRzZXQocm9vdC5kaXIgPSAiL1VzZXJzL2t5bGVrbm94L0RvY3VtZW50cy9NLlMuIEFwcGxpZWQgU3RhdGlzdGljcy9TUFJJTkcgMjAyNC9TVEE1MzMvd2VlazEwKQoKa25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFLCAgICAgICAKICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmcgPSBGQUxTRSwgICAKICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IFRSVUUsICAgCiAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gRkFMU0UpCmBgYAoKYGBge3IsIGZpZy5oZWlnaHQ9MTUsIGZpZy53aWR0aD0xMn0KbGlicmFyeShzaGlueSkKCnVpIDwtIGZsdWlkUGFnZSgKICB3aXRoTWF0aEpheCgpLAogIHRhZ3MkZGl2KEhUTUwoIjxzY3JpcHQgdHlwZT0ndGV4dC94LW1hdGhqYXgtY29uZmlnJz4KICAgICAgICAgICAgTWF0aEpheC5IdWIuQ29uZmlnKHsKICAgICAgICAgICAgdGV4MmpheDoge2lubGluZU1hdGg6IFtbJyQnLCckJ10sIFsnXFwoJywnXFwpJ11dfQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgPC9zY3JpcHQ+IikpLAogIGJyKCksIGJyKCksCiAgd2VsbFBhbmVsKHN0eWxlID0gImJhY2tncm91bmQtY29sb3I6I2FjZGZlNjsiLAogICAgICAgICAgICB0aXRsZVBhbmVsKGgyKCJFeHBvbmVudGlhbCBEaXN0cmlidXRpb24gb2YgUmFuZG9tIFZhcmlhYmxlcyIsIGFsaWduID0gImNlbnRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUgPSAiY29sb3I6ZGFya3JlZDsgZm9udC1mYW1pbHk6dmVyZGFuYTsgCiAgICAgICAgICAgICAgICAgICAgICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7IGZvbnQtd2VpZ2h0OiBib2xkOyIpKQogICksCiAgc2lkZWJhclBhbmVsKHN0eWxlID0gImJhY2tncm91bmQtY29sb3I6I2FjZGZlNjsiLAogICAgICAgICAgICAgICB0YWdzJGRpdiggaDQoIlVzZXIgSW5wdXQgUGFuZWwiLCBhbGlnbiA9ICJjZW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlID0gImNvbG9yOmRhcmtyZWQ7IGZvbnQtZmFtaWx5OnZlcmRhbmE7IAogICAgICAgICAgICAgICAgICAgICAgZm9udC12YXJpYW50OiBzbWFsbC1jYXBzOyBmb250LXdlaWdodDogYm9sZDsiKSksCiAgICAgICAgICAgICAgIGJyKCksCiAgICAgICAgICAgICAgIHNsaWRlcklucHV0KCJvYnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiTnVtYmVyIG9mIG9ic2VydmF0aW9ucyAobikiLAogICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4gPSAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICBtYXggPSAxMDAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IDEwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZSA9IGxpc3QoaW50ZXJ2YWw9NTUwLCBsb29wPVQpKSwKICAgICAgICAgICAgICAgc2xpZGVySW5wdXQoInJhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAiUmF0ZSBwYXJhbWV0ZXIgKGxhbWJkYSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4gPSAwLjEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heCA9IDUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcCA9IDAuMSksCiAgICAgICAgICAgICAgIGJyKCkKICApLAogIG1haW5QYW5lbCgKICAgIHN0eWxlID0gImJhY2tncm91bmQtY29sb3I6bGlnaHRncmF5OyB0ZXh0LWFsaWduOiBjZW50ZXI7IiwKICAgIHBsb3RPdXRwdXQoImhpc3RQbG90IiwgaGVpZ2h0ID0gIjMwMHB4IiksCiAgICBwbG90T3V0cHV0KCJkZW5zaXR5UGxvdCIsIGhlaWdodCA9ICIzMDBweCIpCiAgKQopCgpzZXJ2ZXIgPC0gZnVuY3Rpb24oaW5wdXQsIG91dHB1dCkgewogIG91dHB1dCRoaXN0UGxvdCA8LSByZW5kZXJQbG90KHsKICAgIHNldC5zZWVkKDMpCiAgICBkaXN0IDwtIHJleHAoaW5wdXQkb2JzLCByYXRlID0gaW5wdXQkcmF0ZSkKICAgIGhpc3QoZGlzdCwKICAgICAgICAgY29sID0gImRhcmtncmVlbiIsCiAgICAgICAgIG1haW4gPSAiSGlzdG9ncmFtIG9mIEV4cG9uZW50aWFsbHkgRGlzdHJpYnV0ZWQgUmFuZG9tIFZhcmlhYmxlcyIsCiAgICAgICAgIHhsYWIgPSAiVmFsdWVzIiwKICAgICAgICAgeWxhYiA9ICJGcmVxdWVuY3kiKQogIH0pCgogIG91dHB1dCRkZW5zaXR5UGxvdCA8LSByZW5kZXJQbG90KHsKICAgIHNldC5zZWVkKDMpCiAgICBkaXN0IDwtIHJleHAoaW5wdXQkb2JzLCByYXRlID0gaW5wdXQkcmF0ZSkKICAgIHBsb3QoZGVuc2l0eShkaXN0KSwKICAgICAgICAgbWFpbiA9ICJEZW5zaXR5IFBsb3Qgb2YgRXhwb25lbnRpYWxseSBEaXN0cmlidXRlZCBSYW5kb20gVmFyaWFibGVzIiwKICAgICAgICAgeGxhYiA9ICJWYWx1ZXMiLAogICAgICAgICB5bGFiID0gIkRlbnNpdHkiLAogICAgICAgICBjb2wgPSAicmVkIikKICAgIGxpbmVzKGRlbnNpdHkoZGlzdCksIGNvbCA9ICJyZWQiLCBsd2QgPSAyKQogIH0pCn0KCnNoaW55QXBwKHVpID0gdWksIHNlcnZlciA9IHNlcnZlcikKCmBgYAo=