2016-09-08 5 views
0

ブラウザでのみ値を表示するにはどうすればよいですか?光沢のあるRは、ベクトルからテキストを表示することはできません

以下は私のコードです。以下は

ui <- shinyUI(bootstrapPage(
    absolutePanel(
    textOutput("renderText1") 
) 
) 
) 

server <- function(input,output,session) 
{ 
    observeEvent(input$dropdown, { 
    query <- sprintf("select ....",input$dropdown) 
     cabinet_info <- dbGetQuery(con,query) 
     output$renderText1 <- renderText({ 
     paste(cabinet_info) 
     }) 
    }) 
} 

出力です:Geovanyの答えが働くかもしれないが

c('a','w','r','t') 
+0

予想される出力:、W、R、T –

答えて

0

は、これはあなた

runApp(list(
    ui = shinyUI(bootstrapPage(
    absolutePanel(
    actionButton("dropdown", "dropdown"), 
    textOutput("renderText1") 
    ) 
    ) 
), 
    server = shinyServer(function(input, output) { 
    cabinet_info <- NULL 
    observeEvent(input$dropdown, { 
     cabinet_info <<- c('a','w','r','t') 
    }) 

    output$renderText1 <- renderText({ 
     input$dropdown 
     paste(cabinet_info, collapse = ',') 
    }) 
    }) 
)) 
1

助けることができる、世界的な代入演算子とobserveEventを使用することをお勧めではありません(<<-)。

あなたは副作用(例えば、印刷をプロット、ファイルの書き込み)を実行したい場合は、observeまたはobserveEvent使用できますが、戻り値を使用したい場合は、代わりにeventReactiveを使用しています。ちょうど関数のような、サーバ側から

ui <- shinyUI(bootstrapPage(
    absolutePanel(
    selectInput("dropdown", label = 'SelectInput', choices = c('A', 'B')), 
    textOutput("renderText1") 
) 
) 
) 

server <- function(input,output,session) 
{ 
    cab <- eventReactive(input$dropdown, { 
    query <- sprintf("select ....",input$dropdown) 
    #cabinet_info <- dbGetQuery(con,query) #Replaced by a constant 
    cabinet_info <- paste(c(input$dropdown, 'a','w','r','t'), sep=",") 
    }) 

    output$renderText1 <- renderText({ 
    cab() 
    }) 
} 

shinyApp(ui, server) 

コールeventReactivecab()

ブラウザ上
関連する問題