2016-05-31 9 views
0

私は非常にシンプルなアプリを持っています。ユーザーはフレーズを入力し、アプリケーションは最後の単語を抽出して印刷します。文字のフォーマットを変更Shinyのアウトプット

require(shiny) 
require(stringi)   
require(stringr)  

server <- function(input, output) { 
     tokens <- reactive({ 
       token <- tolower(input$sentence) 
       token <- gsub("[^[:alnum:]['-]", " ", token) 
       token <- gsub("^\\s+|\\s+$", "", token) 
     }) 

     output$lastOne <- renderPrint({ 
       word(tokens(), -1) 
     }) 


} 

ui <- navbarPage("Filter", 
       tabPanel("The App", 
          column(8, offset = 4, 
           textInput(inputId = "sentence", label = "Enter your phrase"), 
           submitButton("Filter") 
         ), 

          fluidRow(
            textOutput('lastOne') 
         ) 
       ), 

       tabPanel("How to use") 
) 


shinyApp(ui = ui, server = server) 

textOutputの形式を変更するにはどうすればよいですか?たとえば、ボタンのように見えます。

+0

'renderUI'を使用すると、textInput値でボタンを動的に作成できます。代わりに、CSSを使用してテキストをボタンのように見せることもできます(http://stackoverflow.com/questions/26189587/how-to-make-a-text-or-html-tag-look-like-a-ボタン) –

+0

私はあなたの解決策を理解していないか、私は自分自身を曖昧に表現しています。現時点では、 'textOutput'は通常のテキストとして表示されます。しかし、私はこのテキストをボタンのように別の形式で表示します。または、何らかの色の背景など。 – feder80

+0

例は –

答えて

0

renderUIを使用した例です。色の背景だけが必要な場合は、CSSを試すこともできます。 CSSはボタンのように見せることもできますが、ややこしいことです。

require(shiny) 
require(stringi)   
require(stringr)  

server <- function(input, output) { 
    tokens <- reactive({ 
     token <- tolower(input$sentence) 
     token <- gsub("[^[:alnum:]['-]", " ", token) 
     token <- gsub("^\\s+|\\s+$", "", token) 
    }) 

    output$lastOne <- renderUI({ 
     tags$button(word(tokens(), -1)) 
    }) 

} 

ui <- navbarPage("Filter", 
       tabPanel("The App", 
          column(8, offset = 4, 
           textInput(inputId = "sentence", label = "Enter your phrase"), 
           submitButton("Filter") 
         ), 

          fluidRow(
           uiOutput("lastOne") 
         ) 
       ), 
       tabPanel("How to use") 
) 


shinyApp(ui = ui, server = server) 
+0

です。ありがとうございます – feder80

関連する問題