如何在R字符串中插入新行

如何在R字符串中插入新行,r,shiny,R,Shiny,在shiny中,我有以下内容: output$sequenceText <- renderText({ showSequence() }) showSequence <- reactive({ selectedSeqs <- as.numeric(input$sequenceSelect) resultString <- "" currentString <-"" for(i in selectedSeqs){ curre

在shiny中,我有以下内容:

  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)

})

output$sequenceText据我所知,只有两个选项可以在屏幕中显示多行。一种方法是使用
逐字输出
,它将在文本周围提供一个灰色框(个人偏好)。另一种是使用
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/>"))
      })

    }
  )
)
require(闪亮)
runApp(
名单(
ui=页面带边框(
headerPanel(“多线测试”),
侧栏面板(
p(“演示页”)
),
主面板(
逐字输出(“文本”),
htmlOutput(“文本2”)
)
),
服务器=功能(输入、输出){

输出$text据我所知,只有两个选项可以在shiny中显示多行。一种方法是使用
逐字输出
,它将在文本周围提供一个灰色框(个人偏好)。另一个是使用
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/>"))
      })

    }
  )
)
require(闪亮)
runApp(
名单(
ui=页面带边框(
headerPanel(“多线测试”),
侧栏面板(
p(“演示页”)
),
主面板(
逐字输出(“文本”),
htmlOutput(“文本2”)
)
),
服务器=功能(输入、输出){
输出$text

  output$text2 <- renderUI({
    HTML('hello <br> world')
  })
output$text2怎么样

  output$text2 <- renderUI({
    HTML('hello <br> world')
  })

output$text2这是另一种可能更简单的方法

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)

ui这是一种不同的方法,可能更简单一些

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)

ui对于阅读本文的任何人,您可能还希望使用标记$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" )

对于阅读本文的任何人,您可能还希望使用标记$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" )

还有
写入(x,file=”“)
技巧:

renderPrint({
 write(showSequence(), file = "")
})

如果输出是一个
逐字输出
,那么这是可行的。

还有
写入(x,file=”“)
技巧:

renderPrint({
 write(showSequence(), file = "")
})

如果输出是
逐字输出
,则此操作有效。

可能重复的
逐字输出()
渲染文本()
将尊重
\n
字符。
逐字输出()
渲染文本()的可能重复
将尊重
\n
字符。假设您的应用程序中已经有一些文本,例如反应式表达式,并且其中已经包含
\n
换行符。请使用
htmlOutput(“text3”)
使用
输出$text3,假设你的应用程序中已经有一些文本,例如反应式表达式,并且其中已经包含
\n
换行符。使用
htmlOutput(“text3”)
使用
输出$text3