在tableHTML中:有没有一种方法可以基于一个条件列突出显示整个行?类似这样,但在mpg-、cyl-和disp-列中也有红色单元格:
tableHTML(mtcars[1:10,1:3]) %>%
add_css_conditional_column(conditional = "contains",
value = "Hornet",
css = list('background-color', "red"),
columns = "rownames")发布于 2021-04-12 02:46:23
在最近发布的tableHTML版本(版本2.1.0)中,有一个选项可以选择logical作为add_css_conditional_column的条件类型,如果它应用于所有列,还可以用作行条件突出显示的代理
基本上,您可以为条件定义逻辑向量(就像clemens的答案一样),并选择将其应用于所有列,如下所示:
my_df <- mtcars[1:10,1:3]
conditional <- grepl("Hornet", rownames(my_df))
tableHTML(my_df) %>%
add_css_conditional_column(conditional = "logical",
columns = 0:ncol(my_df),
css = list('background-color', "red"),
logical_conditions = list(conditional))

发布于 2021-04-12 03:57:16
我自己找到了答案。使用add_css_row函数,可以将条件添加到rows参数中:
my_df <- mtcars[1:10,1:3]
tableHTML(my_df) %>%
add_css_row(css = list('background-color', 'red'),
rows = grep("Hornet", rownames(my_df)) + 1)

发布于 2021-04-12 01:20:56
我们打算将该功能包含在包中,但尚未实现。不过,这可以通过一些技巧来完成:
首先,我们为条件创建一个逻辑向量,然后创建一个tableHTML对象。然后,对于tableHTML对象中的每一列,我们可以使用函数add_css_rows_in_column在循环中应用样式
library(tableHTML)
conditional <- grepl("Hornet", rownames(mtcars[1:10, ]))
my_tableHTML<- mtcars[1:10,1:3] %>%
tableHTML()
for (i in 0:3) {
my_tableHTML <- my_tableHTML %>%
add_css_rows_in_column(css = list(c("background-color"),
ifelse(conditional, "red", "")),
column = i)
}
my_tableHTML结果如下所示:

https://stackoverflow.com/questions/67038691
复制相似问题