Пакет Huxtable для R: проблемы с использованием set_background_color () - PullRequest
0 голосов
/ 03 октября 2018

Я попытался раскрасить определенные ячейки во фрейме данных (df_data), как показано ниже: DATAFRAME_with_highlights

Вдохновленный Введение в Huxtable Я попробовал следующее:

library(huxtable)
as_hux(df_table)                                                  %>%
 set_background_color(where(df_table["choice_mean"] < 2), 'red')  %>%
 set_background_color(where(df_table["N"] > 110), 'yellow')   

Приведенные выше команды закрасили ячейки в правильной строке - но только в первом столбце вместо нужных столбцов (N, choice_mean) / соответствующих ячеек:

HUXTABLE_with_highlights

Большое спасибо за краткий ответ и помощь!

1 Ответ

0 голосов
/ 04 октября 2018

Проблема в where(DF_table["choice_mean"] < 2).

Вот что происходит, с некоторыми данными, чтобы другие могли воспроизвести проблему (подсказка):

DF_table <- data.frame(choice_mean = c(1,2,3,1,3), N = c(100, 120, 100, 90, 100))
where(DF_table["choice_mean"] < 2)
##     row col
## [1,]   1   1
## [2,]   4   1

Вы только что передали часть фрейма данных на where,и это правильно говорит вам, что в этой (1 столбец) части фрейма данных строка 1 столбец 1 и строка 4 столбец 1 меньше 2. Это тогда дает неверную информацию для set_background_color.

Вы можете обойти это, используя стандартное подмножество R:

DF_table <- as_hux(DF_table)
set_background_color(DF_table, DF_table$choice_mean < 2, 'choice_mean', 'red')
set_background_color(DF_table, DF_table$N > 110, 'N', 'yellow')

Здесь DF_table$N > 110 указывает строки, а 'N' столбец.

Это то же самое, что и обычное Rподмножество:

DF_table[DF_table$N > 110, 'N']
## 120
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...