R Shiny:在tableOutput中格式化文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R Shiny:在tableOutput中格式化文本相关的知识,希望对你有一定的参考价值。

考虑以下非常简单的闪亮应用程序,它输出存储在数据框df中的文本表:

library(shiny)

df <- data.frame(id=1:3,
                   text=c('It was a good day today', 'It is good to hear from you', 'I am feeling good'),
                   stringsAsFactors = FALSE)

ui <- fluidPage(
  tableOutput("freetext")
)

server <- function(input, output){
  output$freetext <- renderTable({ df })
}

shinyApp(ui=ui, server=server)

我希望每行中的“好”一词显示为红色。这可能使用tableOutput吗?

我看过像this one这样的帖子建议用textOutput函数中的htmlOutput替换ui,但我不知道如何将其扩展到文本表。

答案

如果您使用htmlTable,则可以在表格中包含一些HTML。例如:

library(shiny)
library(htmlTable)

df <- data.frame(
  id=1:3,
  text=c('It was a <span style="color:red;">good</span> day today', 
         'It is good to hear from you', 
         'I am feeling good'),
  stringsAsFactors = FALSE)

ui <- fluidPage(
  htmlTableWidgetOutput("freetext")
)

server <- function(input, output){
  output$freetext <- renderHtmlTableWidget({ 
    htmlTableWidget(df) 
  })
}

shinyApp(ui=ui, server=server)

enter image description here

以上是关于R Shiny:在tableOutput中格式化文本的主要内容,如果未能解决你的问题,请参考以下文章

在 R Shiny Server 中对文本进行样式化或格式化

Shiny R中的条件格式多个表

在 R Shiny 中使用 renderTable 时如何格式化数字行输出?

如何在 R Shiny 中对数据帧进行条件格式设置?

来自文本输入的表格中的R闪亮多行行

Shiny 和 R 中的 DT:自定义数字格式