Это мой первый пост, поэтому извиняюсь, если что-то напутал. Я пытаюсь применить условное форматирование к нескольким столбцам (сравнивая результаты для образцов SampA, SampB и SampB с лимитом) таблицы GT. Следуя примеру одного из gt и другому переполнению стека Q , мне удалось применить его к одному столбцу (переменной), используя этот код:
## Conditional Formatting of single column in gt table
samples = as_tibble(cbind("Chem"=c("Cd","Pb","Zn"),
"Limit"=c("0.005","0.05","0.007"),
"SampA" = c("0.001","0.15","0.003"),
"SampB" = c("0.002","0.04","0.005"),
"SampC" = c("0.009","0.23","0.03")))
gt(samples,rowname_col="Chem") %>% tab_style(
style = list(
cell_fill(color = "grey80"),
cell_text(weight = "bold")
),
locations = cells_body(
columns = vars(SampA),
rows = SampA >= Limit
)
) %>% tab_spanner(
label = "Samples",
columns = vars(SampA,SampB,SampC))
Успешное условное форматирование для одного столбца
Однако мне не удалось расширить его до нескольких столбцов. Я могу заставить аргумент 'columns' работать с 'vars (SampA, SampB, Samp C)'. Оставляя аргумент 'rows' с помощью 'SampA> = Limit', форматирование 'работает' в том смысле, что все строки, где SampA> = Limit, выделены в трех столбцах Samp, но это не то, что мне нужно. Выполнение приведенного ниже кода заканчивается без форматирования какого-либо столбца.
locations = cells_body(
columns = vars(SampA,SampB,SampC),
rows = vars(SampA,SampB,SampC) >= Limit
)
Неудачное условное форматирование нескольких столбцов
Мне удалось "грубой силой" добиться того, что я хочу, повторив style_tab () с учетом каждая колонка, но знайте, что должен быть лучший способ добраться до моей цели. Помогите?
gt Успешное условное форматирование методом грубой силы.