如何在RMarkdown中用kable()按Tin < pinch < Tout条件高亮表格行?
R语言实现满足条件的表格行高亮
方法1:使用gt包
- 安装并加载依赖包
install.packages("gt") library(gt)
- 准备数据与阈值
# 导入你的表格数据(这里用示例数据演示) data <- data.frame( name = c("water", "waste", "air", "wast", "co2"), Tin = c(20, 15, 20, 15, 15), Tout = c(15, 20, 15, 20, 20), Hin = c(2.33, 0, 0.03, 0, 0), Hout = c(0, 2.12, 0, 0.03, 0.45), `DT min/2` = rep(5, 5), alpha = rep(1, 5) ) # 设置pinch阈值 pinch <- 16
- 生成带高亮的表格
data %>% gt() %>% tab_style( style = cell_text(color = "red"), locations = cells_body( rows = Tin < pinch & pinch < Tout ) )
方法2:使用kableExtra包
- 安装并加载依赖包
install.packages(c("kableExtra", "knitr")) library(kableExtra) library(knitr)
- 生成带高亮的表格
data %>% # 对满足条件的行所有单元格添加红色样式 mutate(across(everything(), ~ifelse(Tin < pinch & pinch < Tout, paste0("<span style='color:red'>", ., "</span>"), .))) %>% kable(escape = FALSE, format = "html") %>% kable_styling()
两种方法都能自动识别符合Tin < pinch < Tout条件的行并高亮为红色,只需替换示例中的data为你的实际数据框,即可批量处理大量表格。
内容的提问来源于stack exchange,提问作者Checster
相关产品推荐
相关产品推荐

