使用Shiny中的textOutput()在单独的行上打印出句子

时间:2015-10-30 15:55:01

标签: regex r text shiny

我在数据帧列的行中存储了一些句子,我希望逐行打印出来。

问题是,使用textOutput()将句子打印出来将所有句子连在一起组成一个字符串。

我尝试过使用verbatimTextOutput,尽管打印出带换行符的句子,但输出格式对于大句子来说可能会很混乱。另外,我想避免伴随verbatimTextOutput的灰色背景。

任何人都可以帮我弄清楚如何在打印之前在句子之间添加换行符吗?

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

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  

1 个答案:

答案 0 :(得分:2)

我认为如果你在服务器部分的发光和uiOutput的ui部分中使用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))

输出:

enter image description here