2017-07-24 46 views
1

觀看輸出一個我已經開發了顯示錶和情節爲某個城市的輸出,這是作爲一個一個rshiny應用來自用戶的輸入。現在我正在給用戶靈活地輸入多個城市作爲輸入。 所以我想現在要做的是以這種方式顯示輸出,以便用戶有一個選擇列表,顯示基於用戶選擇的值的輸出。提供用戶選擇查看選擇列表的形式輸出,即由一個

對於離用戶輸入3個城市,現在3臺和3個地塊已計算在觀察的事件,我希望用戶選擇基於本市將在其上顯示的輸出。

示例代碼會是這樣的;

observeEvent(input$get, { 
some operations... 
output$city_output<- renderDataTable(samp_data) 
} 
) 

而且我需要的輸出中要像

selectInput('city','Select the city to be displayed',samp_data$city) 

基於用戶選擇該城市的數據表應顯示

回答

0

怎麼樣使用renderUI命令是這樣的?

library(shiny) 


ui <- fluidPage(

    # Application title 
    titlePanel("Test App"), 

    # Sidebar with a slider input for number of bins 
    sidebarLayout(
     sidebarPanel(
     checkboxGroupInput("City",label = "Choose a city", 
        choices = c("London","Paris","Hamburg"), 
        selected="London") 
    ), 

     # Show a plot of the generated distribution 
     mainPanel(

     uiOutput("ReactiveUI"), 
     textOutput("Final") 
    ) 
    ) 
) 


server <- function(input, output) { 
    output$ReactiveUI <- renderUI(
    selectInput("ReactiveUI", 
           label="Choose one of your choices", 
           choices = input$City, 
           selected="London")) 
    output$Final <- renderText({paste("you selected",input$ReactiveUI)}) 


} 

# Run the application 
shinyApp(ui = ui, server = server) 

這工作,因爲通過使用renderUI命令,我們可以訪問存儲在input$City值,因爲我們是在server.r文件。

編輯:

爲了詳細說明renderUI,與uiOutput這個命令對(它的ui.R對口,像renderTexttextOutput)。所述renderUI命令移動的UI元素的施工從ui.Rserver.R。這很有用,因爲我們不能在ui.R中做很多「編程」,但我們可以在server.R。我們也無法訪問存儲在input列表中的任何內容,而在ui.R中。簡而言之,通過在server.R中創建我們的UI元素,我們允許我們的應用程序的UI響應其他用戶輸入。

在這個例子中,我們採取我們的下拉菜單的選擇設定由checkboxGroupInput

+0

嘿邁克爾選擇的輸入解決方案完美的作品看其他投入的能力優勢!我是rshiny的新手,所以如果您能詳細闡述一下在這個特定情況下使用的renderUI的概念,那麼這將對我未來的工作有所幫助。 – bakas

+0

只是一個跟進的問題,有沒有什麼辦法,我可以展示倫敦作爲輸出即輸出選擇列表默認情況下應顯示倫敦默認城市,因此應該呈現的文本,用戶則可以改變選擇列表輸出選項到如果他/她希望看到輸出其他一些城市 – bakas

+0

喜@bakas其他任何城市,我已經增加了大約'renderUI'更詳細一點,我還編輯我的代碼有'selected'參數在我的兩個輸入。我認爲它的行爲是你想要的。 –