2014-11-14 163 views
2

我目前正在R闪亮建立仪表板的过程中。我希望用户能够从当前正在进行的实验列表中进行选择,这些实验将随着时间而改变。因此它必须从数据框(或类似的东西)中调用,每当代码开始和停止时由代码生成。R闪亮下拉问题

我有下面的当前代码,但是这提供了一个数字而不是名称,我认为这是对名称的引用,但我无法理解如何让它显示名称。当我使用列表代码时,它不会运行,因为它说明我必须单独列出每个项目(假设这就像下面用于用户类型的项目一样)

Testids目前是一个带有45个obs。 。

关于如何解决这个任何想法?

在此先感谢

library("shiny")  

shinyUI( pageWithSidebar( headerPanel( “破折号草案”), #小号带过滤器idebar测试类型

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")), 
+0

什么数据在'Testids'中?这是测试的名字吗?它在哪里读入应用程序? - 在'ui.r'?或'global.r'? –

回答

1

据我所知,selectInput("Test", "Experiment Name:", c(Testids))将显示数据框Testids的条目,而不是列名,我认为这是你想要的。使用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)