Условное форматирование RMarkdown с помощью kable()

У меня есть следующая таблица:

|name|Tin|Tout|Hin|Hout|DT min/2|alpha|
|-----|-----|-----|-----|-----|-----|-----|
|water|20   |15   |2.33 |0    |5    |1    |
|waste|15   |20   |0    |2.12 |5    |1    |
|air  |20   |15   |0.03 |0    |5    |1    |
|wast |15   |20   |0    |0.03 |5    |1    |  
|co2  |15   |20   |0    |0.45 |5    |1    |

И следующий номер, объявленный в другом чанке.

pinch = 16

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

Кто-нибудь знает как это сделать ?

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

Это бы мне очень помогло!

Шаблоны Angular PrimeNg
Шаблоны Angular PrimeNg
Как привнести проверку типов в наши шаблоны Angular, использующие компоненты библиотеки PrimeNg, и настроить их отображение с помощью встроенной...
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Создайте ползком, похожим на звездные войны, с помощью CSS и Javascript
Если вы веб-разработчик (или хотите им стать), то вы наверняка гик и вам нравятся "Звездные войны". А как бы вы хотели, чтобы фоном для вашего...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Начала с розового дизайна
Начала с розового дизайна
Pink Design - это система дизайна Appwrite с открытым исходным кодом для создания последовательных и многократно используемых пользовательских...
Шлюз в PHP
Шлюз в PHP
API-шлюз (AG) - это сервер, который действует как единая точка входа для набора микросервисов.
14 Задание: Типы данных и структуры данных Python для DevOps
14 Задание: Типы данных и структуры данных Python для DevOps
проверить тип данных используемой переменной, мы можем просто написать: your_variable=100
0
0
78
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать kableExtra и dplyr, как в следующем коде. Это предполагает, что ваши данные находятся во фрейме данных.

library(knitr)
library(kableExtra)
library(dplyr)

dfs <- "name|Tin|Tout|Hin|Hout|DT_min2|alpha
water|20   |15   |2.33 |0    |5    |1
waste|15   |20   |0    |2.12 |5    |1
air  |20   |15   |0.03 |0    |5    |1
wast |15   |20   |0    |0.03 |5    |1
co2  |15   |20   |0    |0.45 |5    |1"

df <- read.table(text=dfs, sep='|', header=T)
pinch <- 16

red <- 
    df %>% 
    mutate(red = ifelse(Tin < pinch & pinch < Tout, TRUE, FALSE)) %>% 
    mutate(row=row_number()) %>%
    select(red, row)

kable(df) %>% kable_styling(full_width = T) %>% row_spec(red$row[red$red], color='red')

Фрейм данных под названием red использует ifelse для обработки номеров строк, которые окрашиваются в красный цвет при вызове kableExtra::row_spec.

Другие вопросы по теме