最近シャイニーと遊び始めました。私は中心極限定理を実証するために何かを書こうとしていました。私のコードは次のとおりです。
ui.R:
#****************************************ui.R file code*****************************
library(shiny)
shinyUI(pageWithSidebar(headerPanel("Central Limit Theorem"),
sidebarPanel(selectInput("Distribution",
"Distribution:",
list("normal", "lognormal")),
br(),
sliderInput("sam_size",
"Sample size:",
min = 5,
max = 500,
value = 5)
),
mainPanel(tabPanel("Plot", plotOutput("plot")))
))
server.R:
#****************************************server.R file code**************************
library(shiny)
shinyServer(function(input, output){
data <- reactive(function(){Distribution <- switch(input$Distribution,
normal = rnorm,
lognormal = rlnorm,
rnorm
)
Distribution(input$sam_size*2000)})
output$plot <- reactive(function(){
Distribution <- input$Distribution
sam_size <- input$sam_size
temp <- matrix(data(), ncol=2000)
xbars <- colMeans(temp)
hist(xbars, main=paste("Sampling Distribution of the Mean Based on a", Distribution,
"distribution with n =", sam_size))})
})
を使用してコードを実行しようとするとrunApp()
、次のようになります。ご覧のとおり、プロットは表示されていません。
奇妙な部分は、Rstudioに戻り、「Esc」を押してアプリを終了すると、以下に示すようにRstudioにプロットが表示されることです。
誰かが私のコードの問題が何であるか知っているのだろうか。ありがとう!!