【问题标题】:Printing out sentences on separate lines using textOutput() in Shiny在 Shiny 中使用 textOutput() 在单独的行上打印句子
【发布时间】:2016-01-31 02:50:48
【问题描述】:

我有几句话存储在数据框列的行中,我想以闪亮的方式逐行打印出来。

问题是,使用 textOutput() 打印句子会将所有句子组合成一个字符串。

我尝试过使用逐字文本输出,虽然这会打印出带有换行符的句子,但对于大句子来说,输出格式可能会很混乱。另外,我想避免逐字文本输出附带的灰色背景。

谁能帮我弄清楚如何在打印之前在句子之间添加换行符?

下面是一个可重现的例子:

shinyUI(

        textOutput("text")

        )

shinyServer(function(input, output){


        list <- c("blah blah blah", "drivel drivel drivel", 
                  "blah blah blah")

        text.data <- as.data.frame(list)

        colnames(text.data) <- " "

        output$text <- renderPrint({
                text.data

        })

})

以上产生的结果是:

1 blah blah blah 2 drivel drivel drivel 3 blah blah blah

但是,这是我追求的结果:

1 blah blah blah 
2 drivel drivel drivel 
3 blah blah blah  

【问题讨论】:

    标签: regex r text shiny


    【解决方案1】:

    我认为如果您在闪亮的 ui 部分使用 uiOutput 并在服务器部分使用 renderTable 会更好,因为您尝试输出 data.frame 而不是真正的文本。它会给你你所需要的:

    ui <- shinyUI(
    
      uiOutput("text")
    
    )
    
    server <- shinyServer(function(input, output){
    
    
      list <- c("blah blah blah", "drivel drivel drivel", 
                "blah blah blah")
    
      text.data <- as.data.frame(list)
    
      colnames(text.data) <- " "
    
      output$text <- renderTable({
    
        print(text.data)
    
      })
    
    })
    
    runApp(list(ui=ui, server=server))
    

    输出:

    【讨论】:

    • 太棒了,这正是我所追求的——感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2022-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 2022-07-03
    相关资源
    最近更新 更多