Introduction to condformat
================
Sergio Oller
2026-07-09

<!-- README.md is generated from README.Rmd. Please edit that file -->

condformat renders a data frame in which cells in columns are formatted
according to several rules or criteria.

<!-- badges: start -->

[![CRAN
status](https://www.r-pkg.org/badges/version/condformat)](https://CRAN.R-project.org/package=condformat)
[![Downloads](https://cranlogs.r-pkg.org/badges/condformat)](https://cran.r-project.org/package=condformat)

[![Documentation](https://img.shields.io/badge/documentation-pkgdown-informational)](https://zeehio.github.io/condformat/)

[![R build
status](https://github.com/zeehio/condformat/workflows/R-CMD-check/badge.svg)](https://github.com/zeehio/condformat/actions)
[![codecov.io](https://codecov.io/github/zeehio/condformat/coverage.svg?branch=main)](https://app.codecov.io/github/zeehio/condformat)

<!-- badges: end -->

## Browse source code

Checkout the code and browse it at
<https://github.com/zeehio/condformat>.

## How to install condformat:

### Dependencies

If you want to use the PDF output you will need the `xcolor` LaTeX
package. Either use the full texlive distribution, or install
`latex-xcolor` on Debian and derivatives.

### Package installation

- From CRAN:

      install.packages("condformat")

- To install the latest development version:

      remotes::install_github("zeehio/condformat")

## Example

``` r
data(iris)
library(condformat)
condformat(iris[c(1:5,70:75, 120:125),]) |>
  rule_fill_discrete(Species) |>
  rule_fill_discrete(c(Sepal.Width, Sepal.Length),
                     expression = Sepal.Width > Sepal.Length - 2.25,
                     colours = c("TRUE" = "#7D00FF")) |>
  rule_fill_gradient2(Petal.Length) |>
  rule_text_bold(c(Sepal.Length, Species), Species == "versicolor") |>
  rule_text_color(Sepal.Length,
                  expression = ifelse(Species == "setosa", "yellow", "")) |>
  rule_fill_bar(Petal.Width, limits = c(0, NA)) |>
  theme_grob(rows = NULL) |>
  condformat2grob()
```

![](man/figures/README-fig-example-1.png)<!-- -->

This example covers most of the condformat rules.

## Rules and output engine support

| Rule                  | HTML | LaTeX | gtable | Excel |
|-----------------------|:----:|:-----:|:------:|:-----:|
| `rule_fill_discrete`  |  X   |   X   |   X    |   X   |
| `rule_fill_gradient`  |  X   |   X   |   X    |   X   |
| `rule_fill_gradient2` |  X   |   X   |   X    |   X   |
| `rule_text_color`     |  X   |   X   |   X    |   X   |
| `rule_text_bold`      |  X   |   X   |   X    |   X   |
| `rule_fill_bar`       |  X   |       |   X    |  X¹   |
| `rule_css`            |  X   |       |        |       |

¹ In Excel, `rule_fill_bar()` is rendered as a native data bar and only
supports the default `expression` (`.col`); a custom `expression` falls
back to applying just the `background`/`na.value` cell colours.
