【问题标题】:make list for shiny dropdown selectInput为闪亮的下拉列表选择输入
【发布时间】:2016-01-11 08:15:32
【问题描述】:

闪亮的 selectInput 小部件需要以这种格式命名的选项列表:

choices = list(
  "mpg" = 1,
  "cyl" = 2,
  "disp" = 3,
  "hp" = 4
  # ..... etc
)

转到我闪亮的应用程序的数据框不会有相同的变量名称,所以我想动态生成名称列表。

这是一个尝试:

data(mtcars)

choices = data.frame(
  var = names(mtcars),
  num = 1:length(names(mtcars))
)

> head(choices)
   var num     mylist
1  mpg   1  "mpg" = 1
2  cyl   2  "cyl" = 2
3 disp   3 "disp" = 3
4   hp   4   "hp" = 4
5 drat   5 "drat" = 5
6   wt   6   "wt" = 6

paste(choices$mylist, collapse = ",")

这看起来很接近,但它不起作用:

...
box(
        selectInput(
          "select",
          label = h3("Select box"),
          choices = list(
            paste(choices$mylist, collapse = ",")
          )
    )
...

我怎样才能做到这一点?

【问题讨论】:

    标签: r list shiny


    【解决方案1】:

    嗨,如果我理解你的问题,你可以这样做:

    data(mtcars)
    
    choices = data.frame(
      var = names(mtcars),
      num = 1:length(names(mtcars))
    )
    # List of choices for selectInput
    mylist <- as.list(choices$num)
    # Name it
    names(mylist) <- choices$var
    # ui
    ui <- fluidPage(
      selectInput(
        "select",
        label = h3("Select box"),
        choices = mylist
      )
    )
    # server
    server <- function(input, output) {
    
    }
    # app
    shinyApp(ui = ui, server = server)
    

    【讨论】:

    猜你喜欢
    • 2016-04-04
    • 2018-10-17
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 2021-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多