change text highlight color of selected rows and columns of a flextable.
highlight(x, i = NULL, j = NULL, color = "yellow", part = "body", source = j)
a flextable object
rows selection
columns selection
color to use as text highlighting color. If a function, function need to return a character vector of colors.
partname of the table (one of 'all', 'body', 'header', 'footer')
if color is a function, source is specifying the dataset column to be used
as argument to color
. This is only useful if j is colored with values contained in another
(or other) column.
my_color_fun <- function(x){
out <- rep("yellow", length(x))
out[x < quantile(x, .75)] <- "pink"
out[x < quantile(x, .50)] <- "wheat"
out[x < quantile(x, .25)] <- "gray90"
out
}
ft <- flextable(head( mtcars, n = 10))
ft <- highlight(ft, j = "disp", i = ~ disp > 200, color = "yellow")
ft <- highlight(ft, j = ~ drat + wt + qsec, color = my_color_fun)
ft
#> a flextable object.
#> col_keys: `mpg`, `cyl`, `disp`, `hp`, `drat`, `wt`, `qsec`, `vs`, `am`, `gear`, `carb`
#> header has 1 row(s)
#> body has 10 row(s)
#> original dataset sample:
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
#> Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
#> Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
#> Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
#> Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2