2014-10-14 14 views
15

In lucido, ho il seguente:Come inserire nuova linea in R stringa lucido

output$sequenceText <- renderText({ 
    showSequence() 
    }) 

showSequence <- reactive({ 
    selectedSeqs <- as.numeric(input$sequenceSelect) 
    resultString <- "" 
    currentString <-"" 

    for(i in selectedSeqs){ 
    currentString <- paste(i, toString(myProts[i]), sep = ":") 
    resultString <- paste(resultString, currentString, sep = "\n") 
    } 
    return(resultString) 

}) 

Tuttavia, non sembra che il carattere di nuova riga è rispettata. Come lo aggiusto?

Grazie!

+0

Eventuali duplicati di [Output più righe di testo con renderText() in R lucido] (https://stackoverflow.com/questions/23233497/outputting-multiple-lines-of-text-with-rendertext-in-r-shiny) –

risposta

25

A mia conoscenza, ci sono solo due opzioni per visualizzare più righe all'interno di lucido. Un modo per utilizzare verbatimTextOutput che fornirà una casella grigia intorno al testo (preferenza personale). L'altro è utilizzare renderUI e htmlOutput per utilizzare HTML non elaborato. Ecco un esempio di base di lavoro per dimostrare i risultati.

require(shiny) 
runApp(
    list(
    ui = pageWithSidebar(
     headerPanel("multi-line test"), 
     sidebarPanel(
     p("Demo Page.") 
    ), 
     mainPanel(
     verbatimTextOutput("text"), 
     htmlOutput("text2") 
    ) 
    ), 
    server = function(input, output){ 

     output$text <- renderText({ 
     paste("hello", "world", sep="\n") 
     }) 

     output$text2 <- renderUI({ 
     HTML(paste("hello", "world", sep="<br/>")) 
     }) 

    } 
) 
) 

Questo produce il seguente dato:

enter image description here

+0

impressionante, proprio quello di cui avevo bisogno. – user1357015