いくつかの統計分布から異なるサンプルを生成するためにshinyappを作成しようとしています。私のアプリには、ディストリビューションを指定するためのスイッチが含まれており、パラメータの入力が表示されます。光沢のある異なる分布からサンプルを生成する
何も入手できません。これはui.Rです:
library(shiny)
shinyUI(fluidPage(
# Application title
titlePanel("Sampling"),
# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel(
selectInput("popDistX", "X",
list("Normal" = "normal",
"Beta" = "beta",
"Gamma" = "gamma",
"Weibull" = "weibull"
)
),
numericInput("nX",
"Tamaño muestral X:",
min = 1,
max = 400,
value = 2),
conditionalPanel(
condition = "input.popDistX == 'beta'",
sliderInput("shape1", "Forma 1: ", min=0.1, max=10, value=1, step=0.05),
sliderInput("shape2", "Forma 2: ", min=0.1, max=10, value=1, step=0.05)
),
conditionalPanel(
condition = "input.popDistX == 'gamma'",
sliderInput("shape", "Forma: ", min=0.1, max=10, value=1, step=0.05),
sliderInput("scale", "Escala: ", min=0.1, max=10, value=1, step=0.05)
),
conditionalPanel(
condition = "input.popDistX == 'weibull'",
sliderInput("shape", "Forma: ", min=0.1, max=10, value=1, step=0.05),
sliderInput("scale", "Escala: ", min=0.1, max=10, value=1, step=0.05)
),
conditionalPanel(
condition = "input.popDistX == 'normal'",
sliderInput("mean", "Media: ", min=0, max=400, value=0),
sliderInput("sd", "Desviación típica: ", min=0.1, max=20, value=1, step=.1)
)
),
# Show a plot of the generated distribution
mainPanel(
plotOutput("histogram")
)
)
))
そしてserver.R:
library(shiny)
shinyServer(function(input, output) {
DistX <- reactive(function() input$popDistX)
nX <- reactive(function() input$nX)
paramsX <- reactive(function() {
switch(DistX(),
"normal" = list(mean=input$mean, sd=ainput$sd),
"beta" = list(shape1=input$shape1, shape2=input$shape2),
"gamma" = list(shape=input$shape, scale=input$scale),
"weibull" = list(shape=input$shape, scale=input$scale)
)})
rdistX <- reactive(function() {
switch(DistX(),
"normal" = "rnorm",
"beta" = "rbeta",
"gamma" = "rgamma",
"weibull" = "rweibull"
)})
sampleDistX <- reactive(function()
do.call(rdistX(), list(nX(), paramsX()))
)
output$n <- renderPlot({
hist(sampleDistX())
})
})
してください、任意のヘルプ?それは重要で、どこにエラーがあるのか分かりません...
ありがとうございます。 フリオ
ありがとうございます!このようにして、理解しやすくなります!本当にありがとう!! – user3149230