2

我有一个数据表,其中列a是字符字段。我需要使列中的一些字符串以不同的颜色出现(只是开始,我最终需要搜索并替换多个不同颜色的字符串)。我正在尝试按照以下方式进行操作,但没有成功。

下面我试图将 html 标签放在列值中,但我不确定如何让浏览器在显示数据表时将它们视为 html 标签。有任何想法吗?

library(shiny)
library(DT)
x<-data.table(a=c("srinivas asfsis asdfsadf","vassri asdf asdfasdf","csdasdsriasfasf"))
x$a<-as.data.table(sapply(x$a,function(x)gsub("sri",'<strong style="color:red">sri</strong>',x)))
shinyApp( ui = dataTableOutput("table1"), 
          server = function(input, output) {
               output$table1<-renderDataTable({ datatable(x) }) 
    }
)
4

2 回答 2

5

请阅读文档?DT::datatable(或DT网站)。escape论据是你想要的。

datatable(x, escape = FALSE)
于 2015-07-16T23:30:57.290 回答
3

你有相互冲突的包,每个包都有同名的函数。看起来你不需要比这个shiny包更多的东西......

library(shiny)
x<-data.frame(a=c("srinivas asfsis asdfsadf","vassri asdf asdfasdf","csdasdsriasfasf"))
x$a<-gsub("sri",'<strong style="color:red">sri</strong>',x$a)
shinyApp( ui = fluidPage(shiny::dataTableOutput("table1")),
          server = function(input, output) {
            output$table1<-shiny::renderDataTable(x, escape=FALSE) 
          }
)
于 2015-07-16T21:07:13.180 回答