光沢のある、次のものがあります。
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)
})
ただし、改行文字が尊重されるようには見えません。どうすれば修正できますか?
ありがとう!
私の知る限り、光沢のある範囲内で複数の行を表示するオプションは2つしかありません。 verbatimTextOutput
を使用する1つの方法は、テキストの周りに灰色のボックスを提供します(個人設定)。もう1つは、renderUI
とhtmlOutput
を使用して生のhtmlを使用することです。以下に、結果を示すための基本的な作業例を示します。
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/>"))
})
}
)
)
これにより、次の図が生成されます。
どう?
output$text2 <- renderUI({
HTML('hello <br> world')
})
これを読んでいる人には、tags $ br()を使用することもできます。これは、テキストの後に引数として挿入するだけです。例えば、
tags$div(
"a piece of text", tags$br(),
"this will start from the new line now", tags$br(),
"and this as well",
"but not this" )
これは別のアプローチで、おそらく少し単純です。
ui <- fluidPage(
htmlOutput("text")
)
server <- function(input, output) {
output$text <- renderText({
paste0("<p>", letters[1:10], "</p>")
})
}
# Run the application
shinyApp(ui = ui, server = server)