我有一个非常简单的问题。我正在尝试对 shiny
的 renderTable
中的某些单元格进行有条件的着色。但是出现了以下问题,即下面的方法会将一列右边的一个单元格着色,并将该行中的单元格向右移动一列:
test <- data.frame(test1 = c(1:3), test2 = c(4:6))
test[test$test1 == 1, "test1"] <- '<td style="background-color:red">'
library(shiny)
ui <- shinyUI(fluidPage(
tableOutput("tt")
)
)
server <- shinyServer(function(input, output) {
output$tt <- renderTable({
test
}, sanitize.text.function = function(x) x)
})
shinyApp(ui = ui, server = server)
这是一个bug吗?当我检查HTML输出时,发现它会留下一个空的<td> </td>
单元格,并创建一个新的<td style="background-color:red">
。我也尝试过:
test[test$test1 == 1, "test1"] <- '<td bgcolor="#FF0000">1</td>'
这种样式也是有效的:
test[test$test1 == 1, "test1"] <- "<strong>1</strong>"
我试图避免更复杂的解决方案,例如:R Shiny 颜色数据框。这是否太简单了?非常感谢。