Conditional Formatting in Data Frames

Apply and visualize conditional formatting to data frames in R. It renders a data frame with cells formatted according to criteria defined by rules, using a tidy evaluation syntax. The table is printed either opening a web browser or within the 'RStudio' viewer if available. The conditional formatting rules allow to highlight cells matching a condition or add a gradient background to a given column. This package supports both 'HTML' and 'LaTeX' outputs in 'knitr' reports, and exporting to an 'xlsx' file.


Sergio Oller 2017-10-19

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

Downloads Build Status codecov.io

Browse source code

Checkout the code and browse it at http://github.com/zeehio/condformat.

How to install condformat:

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:

    devtools::install_github("zeehio/condformat")
    

Example

The example is properly formatted at http://zeehio.github.io/condformat.

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_css(Sepal.Length,
           expression = ifelse(Species == "setosa", "bold", "regular"),
           css_field = "font-weight") %>%
  rule_css(Sepal.Length,
           expression = ifelse(Species == "setosa", "yellow", "black"),
           css_field = "color")
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.6 2.5 3.9 1.1 versicolor
7 5.9 3.2 4.8 1.8 versicolor
8 6.1 2.8 4.0 1.3 versicolor
9 6.3 2.5 4.9 1.5 versicolor
10 6.1 2.8 4.7 1.2 versicolor
11 6.4 2.9 4.3 1.3 versicolor
12 6.0 2.2 5.0 1.5 virginica
13 6.9 3.2 5.7 2.3 virginica
14 5.6 2.8 4.9 2.0 virginica
15 7.7 2.8 6.7 2.0 virginica
16 6.3 2.7 4.9 1.8 virginica
17 6.7 3.3 5.7 2.1 virginica

News

condformat 0.7.0

  • Add a new condformat API, that is based on tidy evaluation principles and leverages on rlang and tidyselect. The old API is still fully functional but deprecated.
  • Add a rule_css to let the user specify arbitrary CSS fields. For this rule there is no support for PDF or Excel output.
  • Improve condformat2excel to export to a specific Excel sheet (#11)
  • Fix condformat2latex and add regression test (#9)
  • Fix rescale and rescale_mid calls (recent scales use a S3 generic, so we need to import it)

condformat 0.6.0

  • Fix tibble formatting issues, causing package malfunction.
  • Bugfix: theme_htmlTable() now accepts the css.cell argument (thanks to 鱼飞灰 for reporting it)
  • Require latest htmlTable. Improve/fix printing of condformat

condformat 0.5.0

  • Shiny support: Add condformatOutput and renderCondformat. Closes #3.
    • Use pagination in shiny if recent enough htmlTable package is installed.
  • PDF support: Fix extra NULL when printing. Closes #4.
  • Demote xlsx (and rJava) to Suggests.
  • Fix standard evaluation functions, they now use formulas. See the examples (Reported in #5).
  • Fix Excel export (fixed in 80440ecfd16fb74e3e0aa4c6ebc623ad2ae74b15, reported in #7)

condformat 0.4.0

  • Excel export support with condformat2excel

condformat 0.3.0

  • PDF support: Export table to LaTeX using knitr.
  • Fix examples for full compatibility with dplyr 0.5.0

condformat 0.2.0

  • First CRAN submission
  • Add theme_htmlTable to pass custom formatting options to htmlTable.
  • Improve knitr compatibility

condformat 0.1.1

  • Change to a ggplot-like syntax

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("condformat")

0.7.0 by Sergio Oller Moreno, 7 months ago


http://github.com/zeehio/condformat


Report a bug at http://github.com/zeehio/condformat/issues


Browse source code at https://github.com/cran/condformat


Authors: Sergio Oller Moreno [aut, cph, cre]


Documentation:   PDF Manual  


BSD_3_clause + file LICENSE license


Imports htmlTable, htmltools, tibble, scales, dplyr, lazyeval, knitr, rmarkdown, gplots, magrittr, rlang, tidyselect

Suggests shiny, testthat, xlsx, rJava


See at CRAN