我很难找到一种使用涉及另一列B的条件为A列中的单元格着色的方法。
我发现包装(DT)在单元格中具有完美的背景,但根据涉及其他列的公式无法着色。
包(格式表)执行涉及两列的条件,并且如果我将值更改为
style = ~ style(background = ifelse(S2 >= 50, "lightgreen", "red"))
背景应用于该值,而不应用于单元格本身,这不是我想要的。
反正有做到这一点,谢谢
答案 0 :(得分:3)
tableHTML包可能就是您想要的
您可以在此处看到很多有关条件格式可以做什么的示例: conditional formatting
您可以尝试这个带有光泽的小示例,看看您可以使用它做什么:
library(shiny)
library(tableHTML)
ui <- shinyUI(fluidPage(
titlePanel(title = "tableHTML"),
sidebarLayout(
sidebarPanel(h3("Select a Dataset:"),
# input
selectInput("in_name", "Dataset:", "iris",''),
actionButton("in_click", "Submit")),
mainPanel(h3("Main Panel"), h4("Output"),
# output
htmlOutput("out_name"))
)))
server <- shinyServer(
function(input, output){
# # eventReactive
observeEvent(input$in_click, {df <- eval(parse(text=input$in_name))
output$out_name <- render_tableHTML({
# here is the tableHTML part
tableHTML(df[c(1:5, 51:55, 101:105), 1:4],
rownames = FALSE,
headers = rep(c('Length', 'Width'), 2),
second_headers = list(c(1, 2, 2), c('Species', 'Sepal', 'Petal'))) %>%
add_css_conditional_column('colour_rank',
colour_rank_theme = 'White-Green',
columns = 1:2,
same_scale = FALSE) %>%
add_css_conditional_column('colour_rank',
colour_rank_theme = 'White-Blue',
columns = 3:4,
same_scale = FALSE)})
})
})
shinyApp(ui, server)