R Shiny:在tableOutput中格式化文本

问题描述 投票:0回答:1

考虑以下非常简单的闪亮应用程序,它输出存储在数据框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,但我不知道如何将其扩展到文本表。

r shiny format output
1个回答
1
投票

如果您使用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

© www.soinside.com 2019 - 2024. All rights reserved.