Блестящий случайный дефолт - PullRequest
1 голос
/ 02 апреля 2019

Меня интересует выбор по умолчанию для блестящего приложения, которое меняется при каждом обновлении страницы.Так, например, в привет-демо Shiny world, вместо выбора по умолчанию 500, я бы хотел, чтобы оно было sample(1:1000,1)

http://shiny.rstudio.com/gallery/example-01-hello.html

Я пробовалпомещать случайно сгенерированное значение непосредственно в часть value =, но, похоже, оно обновляется только при каждом запуске приложения, а не при каждой загрузке страницы.

Как можно использовать случайное значение по умолчанию

Ответы [ 2 ]

1 голос
/ 02 апреля 2019

Мы можем использовать updateSliderInput, например,

server <- function(input, output, session) {
  observe({
    updateSliderInput(session, "bins", value = sample(1:500,1))
  })

 ....
}

Не забудьте добавить переменную session к определению функции server и обновить max значение в sliderInput до 500.

1 голос
/ 02 апреля 2019

Вам необходимо использовать реактивный элемент пользовательского интерфейса.

library(shiny)

ui <- fluidPage(

  # Application title
  titlePanel("Hello Shiny!"),

  # Sidebar with a slider input for number of observations
  sidebarLayout(
    sidebarPanel(
uiOutput("slider")
    ),

    # Show a plot of the generated distribution
    mainPanel(
      plotOutput("distPlot")
    )
  )
)


server <- function(input, output) {

  # Expression that generates a plot of the distribution. The expression
  # is wrapped in a call to renderPlot to indicate that:
  #
  #  1) It is "reactive" and therefore should be automatically 
  #     re-executed when inputs change
  #  2) Its output type is a plot 
  #

  output$slider <- renderUI({
    sliderInput("obs", 
                "Number of observations:", 
                min = 1, 
                max = 1000, 
                value =runif(1,1,1000))

  })
  output$distPlot <- renderPlot({
    req(input$obs)
    # generate an rnorm distribution and plot it
    dist <- rnorm(input$obs)
    hist(dist)
  })
}

  shinyApp(ui = ui, server = server)

Это случайным образом выберет новое значение в ползунке. Это то, что вы были после?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...