Я использую уценку R в сочетании с LaTeX для создания отчетов в формате PDF. Для генерации таблиц я использую пакет kableExtra.
Я бы хотел изменить стиль строк на основе значений в определенном столбце. Я пробовал cell_spec, но, насколько я вижу, он изменяет только стиль значения в столбце, а не всю строку.
Например, в таблице ниже я бы хотел выделить все автомобили с более чем шестью цилиндрами. Таким образом, результат должен быть:
![enter image description here](https://i.stack.imgur.com/5NDWa.png)
который я сделал с помощью следующего кода:
df %>%
kable(booktabs = T) %>%
kable_styling() %>%
row_spec(5, bold = T, color = "white", background = "red")
Здесь я указал номер строки, чего не хочу делать. Это должно быть решено автоматически в зависимости от количества цилиндров. Используя cell_spec, я могу получить следующее:
![enter image description here](https://i.stack.imgur.com/xVt3G.png)
который я сделал с помощью следующего кода:
df %>%
rownames_to_column('cars') %>% # used to store row names (mutate deletes them)
mutate(
cyl = cell_spec(cyl, color = ifelse(cyl > 6, "white", "black"),
background = ifelse(cyl > 6, "red", "white"),
bold = ifelse(cyl > 6, T, F))) %>%
column_to_rownames('cars') %>% # used to put row names back in place
kable(escape = F, booktabs = T) %>%
kable_styling()
Но при этом изменяется только значение в столбце цилиндра, а не остальная часть строки.
Есть ли решение моей проблемы (желательно без указания условия для каждого варианта оформления)?
EDIT:
Это другой вопрос, чем этот , где кто-то хочет отформатировать столбец на основе значений в этом столбце, но хочет исключить определенные строки / записи. Я не хочу исключать какие-либо строки, но я хочу, чтобы форматирование применялось ко всей строке (все еще с учетом значений в определенном столбце).