有条件地突出显示 tableHTML 中的行
Conditional highlighting of rows in tableHTML
在 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")
我们打算在程序包中包含该功能,但尚未实现。不过可以通过一些技巧来完成:
首先,我们为条件创建一个逻辑向量,然后我们创建一个 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
结果如下所示:
在最近发布的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))
我自己找到了答案。
使用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)
在 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")
我们打算在程序包中包含该功能,但尚未实现。不过可以通过一些技巧来完成:
首先,我们为条件创建一个逻辑向量,然后我们创建一个 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
结果如下所示:
在最近发布的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))
我自己找到了答案。
使用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)