2014-11-14 165 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)