你能解释这些闪亮的应用程序示例的魔力吗?

时间:2016-05-25 06:50:41

标签: html r web github shiny

以下是Rstudio主页上着名的example shinyapp。

ui.R在网页中定义两个tabPanel。第一个标签呈现地图,第二个标签用于根据selectInput从完整日期表中选择日期。

部分代码:

 ...

 tabPanel("Data explorer",
    fluidRow(
      column(3,
        selectInput("states", "States", c("All states"="", structure(state.abb, names=state.name), "Washington, DC"="DC"), multiple=TRUE)
      ),
      column(3,
        conditionalPanel("input.states",
          selectInput("cities", "Cities", c("All cities"=""), multiple=TRUE)
        )
      ),
      column(3,
        conditionalPanel("input.states",
          selectInput("zipcodes", "Zipcodes", c("All zipcodes"=""), multiple=TRUE)
        )
      )
    ),
    fluidRow(
      column(1,
        numericInput("minScore", "Min score", min=0, max=100, value=0)
      ),
      column(1,
        numericInput("maxScore", "Max score", min=0, max=100, value=100)
      )
    ),
    hr(),
    DT::dataTableOutput("ziptable")
  ),
...
  1. 我不知道哪一行代码定义了变量state.namestate.abb,它们在上面第4行中使用。

  2. 层次结构选择功能在这里非常简单。为什么在第二个和第三个choices函数中没有selectInput它可以正常工作。

  3. https://github.com/rstudio/shiny-examples/blob/master/063-superzip-example/ui.R

1 个答案:

答案 0 :(得分:0)

1

state.abbstate.name它存在于R中的数据集,请参阅?state.abb

2

还有Server.r. 与

observe({
    cities <- if (is.null(input$states)) character(0) else {
      filter(cleantable, State %in% input$states) %>%
        `$`('City') %>%
        unique() %>%
        sort()
    }
    stillSelected <- isolate(input$cities[input$cities %in% cities])
    updateSelectInput(session, "cities", choices = cities,
      selected = stillSelected)
  })

所以选择改变动态从serever方面