2 years ago
#382339
user63230
kable colour row and column cells by position (not cell values)
Given:
library(kableExtra)
df <- iris[c(1:10), c(1:5)]
df
#    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.4         3.9          1.7         0.4  setosa
# 7           4.6         3.4          1.4         0.3  setosa
# 8           5.0         3.4          1.5         0.2  setosa
# 9           4.4         2.9          1.4         0.2  setosa
# 10          4.9         3.1          1.5         0.1  setosa
I want to use kable to colour every second row for certain columns.
Desired output:
A manual way to do this might be the following and then try and merge them together:
kable(df) %>%
  kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
kable(df[, c(2:3)]) %>%
  row_spec(seq(1, nrow(df), 2), background = "red") %>% 
  kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE) 
kable(df[, c(4:5)]) %>%
  row_spec(seq(1, nrow(df), 2), background = "blue") %>% 
  kable_styling(bootstrap_options = c("striped", "hover"), full_width = FALSE)
However, I want an automated way of doing it in one call. Is there a way to combine row_spec for specific columns by position?
thanks
r
kable
kableextra
0 Answers
Your Answer
