Изменение цвета фона строк в таблице данных с использованием имен строк - PullRequest
0 голосов
/ 03 января 2019

У меня есть таблица данных, которую я хочу настроить на основе имен строк и значений, присутствующих в строках.

Настройка цвета таблиц обычно выполняется по именам столбцов, но не по именам строк.

Ниже приведен мой фрейм данных.

df <- data.frame(`1st`=c(100, 39, 5.6), 
                 `2nd`=c(200, 70, 5.9), 
                 `3rd`=c(230, 100, 6.3), 
                 `4th`=c(300, 98, 7.0))
rownames(df) <- c("Bins", "Accuracy", "SubYeild")

В моем случае, если вы посмотрите на третью строку, т.е. SubmissionYield, я хочу, чтобы ячейка этой конкретной строки была зеленой, если она большезатем 6 или красный цвет.Есть ли способ добиться этого?

1 Ответ

0 голосов
/ 04 января 2019

Хорошо, вот один из способов создания красивых таблиц с использованием пакета flextable:

library(flextable) # may need install.packages("flextable") first
library(magrittr)  # for the '%>%' piping function

df <- data.frame(`1st`=c(100, 39, 5.6), 
                 `2nd`=c(200, 70, 5.9), 
                 `3rd`=c(230, 100, 6.3), 
                 `4th`=c(300, 98, 7.0))
rownames(df) <- c("Bins", "Accuracy", "SubYeild")

table <- df %>%
  regulartable() %>%    # turns it into a table
  bg(i = 3, j = which(df[3, ] > 6),  bg="green") %>%
  bg(i = 3, j = which(df[3, ] <= 6), bg="red") 

Если вы хотите только окрашивать текст (не фон), вы можете заменить bg на color.

flextable - отличный пакет для создания красивых таблиц.Надеюсь, это то, что вы после.

РЕДАКТИРОВАТЬ: как-то пропустил зеленый / красный бит, добавил его сейчас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...