2014-11-14 4 views
2

나는 R 반짝이로 대시 보드를 만드는 중입니다. 나는 사용자가 현재 살아있는 실험 목록에서 선택할 수 있기를 원하며 시간이 지남에 따라 바뀔 것이다. 따라서 목록에서 시작하고 중지 할 때마다 코드에 의해 생성되는 데이터 프레임 (또는 비슷한)에서 호출되어야합니다.R 반짝이에서 드롭 다운이있는 문제

나는 현재 코드를 가지고있다. 그러나 이름 대신 숫자를 제공한다. 이름에 대한 참조라고 가정하고 있지만 이름을 표시하는 방법을 이해할 수는 없다. 목록 코드를 사용할 때 각 항목을 개별적으로 나열해야한다고 나와 있으므로 목록 코드를 실행하지 마십시오 (사용자 유형에 대해 아래에서 작동하는 것으로 가정)

Testids는 현재 45 개의 변수 1 개가있는 데이터 프레임입니다. .

이 문제를 해결하는 방법에 어떤 아이디어? 사전

library("shiny")  

shinyUI ( pageWithSidebar ( headerPanel ("초안 대시"), #의 S에

감사합니다 지금까지 내가 말할 수있는 테스트 유형의 필터를

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

을 idebar, selectInput("Test", "Experiment Name:", c(Testids))는 dataframe 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) 
관련 문제