R: создать цикл for, чтобы назначить разные цвета для cell_spec (kable) - PullRequest
0 голосов
/ 16 марта 2019

Я использую kable для создания таблиц примерно для 500 наборов данных, поэтому я пытаюсь создать один сценарий и выполнить цикл по нему. Я пытаюсь использовать cell_spec, чтобы закрасить фон ячеек в соответствии с другим столбцом, который определенно изменится в количестве и типе между наборами данных, поэтому я хочу принять это во внимание. Как можно настроить скрипт R, чтобы принять это во внимание.

Вот мой скрипт, в настоящее время использующий обычный цикл внутри команды kable, который не работает. Насколько я понимаю, разрешена только одна команда cell_type.

[набор данных grps - это предопределенные критерии для определения групп]

Для кода ниже, набор цветовых данных ниже.

color <- structure(list(color = c("#D2A8A4", "#2C5280", "#9DADCD", "#FFCF77", 
"#FFD892")), .Names = "color", row.names = c(NA, 
-6L), class = "data.frame")


mtcars[1:5,1:4] %>%
    mutate(
      mpg = cell_spec(mpg, color="black"),
      cyl = cell_spec(cyl, color="black"),
      hp = for(g in 1:nrows){ifelse(mpg != '',cell_spec(hp, background=color[g,1],background_as_tile=T),cell_spec(hp, background=''))} %>%
    knitr::kable(format="html")%>% 
    kable_styling("striped", full_width = F)
...