emphatic
{emphatic} augments the output of data.frames and matrices in R by adding user-defined ANSI highlighting.

See the online documentation for vignettes and more examples.
What’s in the box
There are separate high-level functions for highlighting data.frames and matrices, and a low-level function which can be used on both.
The hl_ prefix can be read as highlight.
hl()for highlighting data.frameshl_matrix()for highlighting matriceshl_loc()for low-level control of highlighting of both data.frames and matriceshl_opt()to set some local options on the currentemphaticobject e.g.full_colouroption sets 24-bit colour mode.
hl_opt_global()sets global options for highlighting. These values will be the default unless overridden with a call tohl_opt()for the givenemphaticobject.
| data.frame | matrix | |
|---|---|---|
| High Level | hl() |
hl_matrix() |
| Low Level | hl_loc() |
hl_loc() |
Installation
You can install from GitHub with:
# install.package('remotes')
remotes::install_github('coolbutuseless/emphatic')
Warning
- This package calls
eval()on user-supplied code and extreme caution should be taken before exposing functions in this package to the internet (e.g. viashiny)
Vignettes
Intro
Speicifying rows, columns and colours
Test cases on Real data
- Space Shuttle O-ring dataset - Challenger Disaster
- Southern Sea Ice Area
volcanodataset- Correlation matrix
Advanced:
Example - set alternating colours on a data.frame
library(emphatic)
emphatic::hl_opt_global(dark_mode = FALSE)
mtcars %>%
hl(c('red', 'white'))
Example 2 - using row and column specification
Use {emphatic} to highlight the mtcars dataset where:
- 6 and 8 cylinder cars only
- colour each row to indicate the miles-per-gallon rating
- do not colour the
gearorcarbcolumns - highlight the car with the maximum miles per gallon in
hotpink - de-emphasise the numeric values to focus on the colour highlighting
mtcars %>%
hl(ggplot2::scale_colour_viridis_c(), rows = cyl %in% c(6, 8),
cols = mpg, dest_cols = mpg:am) %>%
hl('hotpink', rows = mpg == max(mpg)) %>%
hl_opt(text_contrast = 0.25)
Example 3 - Rainbows!
mtcars %>%
hl(rainbow(32)) %>%
hl_opt(text_contrast = 0.5)
Example 4: Correlation matrix
Create a correlation matrix of some of the variables in mtcars.
Colour the values using red for negative correlations and blue for positive
correlations. Values in-between are coloured using a gradient between red
and blue. This colouring is applied using ggplot2::scale_colour_gradient2().
mtcars %>%
select(cyl, mpg, hp, disp, vs) %>%
cor() %>%
hl_matrix(scale_colour_gradient2(), selection = abs(.x) > 0.7 & row(.x) != col(.x))