我目前正在建立一个仪表板在R光泽我希望用户能够从当前正在进行的实验列表中进行选择,这些实验将随着时间的推移而改变因此,它必须从一个数据帧(或类似的东西)中调用,该数据帧是由代码每天在列表开始和停止时生成的。
我有下面的当前代码,但是这提供了一个数字而不是名称,我假设它是对名称的引用,但是我不知道如何让它显示名称当我使用列表代码时,它不会像它所说的那样运行,我必须单独列出每个项(假设这与下面的用户类型类似)。
Testids目前是一个包含45个obs的数据帧共1个变量。
有什么解决办法吗?
提前谢谢

library("shiny")

新余(
带边栏的页面(
标题板(“草图划线”),
#测试类型的带过滤器的边栏
sidebarPanel(

  selectInput("Test", "Experiment Name:",
              c(Testids)
              ),

  selectInput("User", "User Type:",
              list("All users" = "All",
                   "Known users" = "KN",
                   "Unknown users" = "UN",
                   "New users" = "NW",
                   "Existing users" = "EX")),

最佳答案

据我所知,selectInput("Test", "Experiment Name:", c(Testids) )将显示dataframeTestids的条目,而不是列名,我认为这是您想要的使用names(dataframe)用列名填充SelectInput列表。

server <- function(input, output) {
  output$distPlot <- renderPlot({
    hist(mtcars[,input$Select], col = 'darkgray', border = 'white')
  })
}

ui <- shinyUI(fluidPage(
  sidebarLayout(
   sidebarPanel(
     selectInput('Select', 'Selection:', names(mtcars)),
      selectInput("User", "User Type:",
          list("All users" = "All",
               "Known users" = "KN",
               "Unknown users" = "UN",
               "New users" = "NW",
               "Existing users" = "EX"))
                ),
    mainPanel(plotOutput("distPlot"))
  )
  ))

shinyApp(ui = ui, server = server)

10-08 02:17