условный формат цвета каждой второй строки в столбце с возможностью форматирования (или любой другой пакет) - PullRequest
1 голос
/ 05 марта 2020

У меня есть таблица данных, аналогичная приведенной ниже (оригинал 10 столбцов и 34 строки). Я хочу условно покрасить формат каждой второй строки на основе значения в каждой ячейке. Все строки с номерами c должны быть отформатированы (35, 25, 20).

Я также хочу иметь только один из каждого дублета в столбце группы, сохраняя обе строки, к которым они ссылаются, в Столбец ожирения. Не знаю, возможно ли это.

>df
Group    Obesity       
1.a      1(ref)          
1.a      35             
2.b      0.6 (0.5,0.7)         
2.b      25              
3.c      0.7 (0.6,0.9)           
3.c      20

Это код, который будет работать с обычной цифрой c colum. Он также работает с данными примера, однако цвета не верны.

formattable(df, list(
      Obesity = color_tile("darkorange",  "white") 

    )) 

Воспроизводимые данные

 df <- data.frame(Group = c("1.a","1.a","2.b","2.b","3.c","3.c"),
                  Obesity = c("1(ref)",35,"0.6 (0.5,0.7)",25,"0.7 (0.6,0.9)",20),
                  stringsAsFactors = FALSE)

1 Ответ

3 голосов
/ 05 марта 2020

Как это?

df = data.frame(Group = c('1.a', '1.a', '2.b', '2.b', '3.c', '3.c'),
                Obesity = c('1(ref)', 35, '0.6 (0.5, 0.7)', 25, '0.7 (0.6, 0.9)', 20))
library(formattable)
formattable(df, list(area(row = seq(2, nrow(df), by=2), col = Obesity) ~ 
                       color_tile("transparent", "pink")))

enter image description here

PS: действительно, вопрос можно задать более четко; -)

...