RMarkdown文档中的条件格式化表

kev*_*kuo 8 r datatables knitr r-markdown

例如,我可能想使用以下规则为单元格着色:

(编辑为非平凡)

  1. 蓝色if> 4
  2. 如果<= 4且> = 3.5,则无填充
  3. 如果> = 3且<3.5,则为黄色
  4. 橙色,如果<3

使用RMarkdown + knitr创建带有条件格式的表格对 我没有帮助,因为我不想只突出满足一组条件的单元格.

示例rmd:

---
title: "Untitled"
output: html_document
---

```{r, message = FALSE, results = "asis"}
library(knitr)
library(dplyr)
head(iris) %>% kable
```
Run Code Online (Sandbox Code Playgroud)

DataTables如果需要,我会采用一种解决方案

Vic*_*orp 7

你好这里使用功能的解决方案FlexTable,从包ReporteRs.此函数用于创建Word表,但您可以从FlexTable对象获取html代码as.html:

---
title: "Untitled"
output: html_document
---


```{r, results='asis', warning=FALSE, message=FALSE}
library(ReporteRs)
data(iris)
irisFT = FlexTable( iris )

vars <- c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width")
for (i in vars) {
  irisFT[iris[, i] < 3, i] = cellProperties( background.color = "orange" )
  irisFT[iris[, i] >= 3 & iris[, i] < 3.5, i] = cellProperties( background.color = "yellow" )
  irisFT[iris[, i] > 4, i] = cellProperties( background.color = "#81DAF5" )
}

cat(as.html(irisFT))
```
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有关更多示例,请访问https://davidgohel.github.io/ReporteRs/articles/FlexTable.html