我一直在努力解决这个问题,我似乎无法在网上找到解决方案。
我创建一个HTML表格使用DT包,我想颜色的行取决于几个条件,从多个列。
下面是我正在使用的datatable示例:
dt <- data.table(id = c("FR12", "FR02", "TR06", "FR07", "FR06", "FR77", "FR14", "FR53", "FR25", "FR59"),
method1 = c("Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y"),
method2 = c("Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", "Y", NA),
method3 = c("Y", NA, "Y", NA, "Y", "Y", "Y", "Y", "Y", NA),
method4 = c("Y", NA, NA, NA, NA, "Y", "Y", "Y", NA, NA)
)
字符串
我正在使用以下代码创建一个数据表:
datatable(dt,
options = list(paging = TRUE,
pageLength = 10,
scrollX = TRUE,
scrollY = TRUE,
autoWidth = FALSE,
server = TRUE,
dom = 'Bfrtip',
buttons = c('csv', 'excel')),
extensions = 'Buttons',
selection = 'single',
filter = 'bottom',
rownames = TRUE)
型
我设法使用以下代码对所有列都有“Y”的行进行着色:
datatable(dt,
options = list(paging = TRUE,
pageLength = 10,
scrollX = TRUE,
scrollY = TRUE,
autoWidth = FALSE,
server = TRUE,
dom = 'Bfrtip',
buttons = c('csv', 'excel')),
extensions = 'Buttons',
selection = 'single',
filter = 'bottom',
rownames = TRUE) %>%
formatStyle(c("method1", "method2", "method3", "method4"), target = 'row',
backgroundColor = styleEqual(c("Y", NA), c('green', 'white')))
型
但是我想使用一个颜色梯度,从绿色到红色,根据包含“Y”值的列的数量来着色。
提前感谢您的帮助!
1条答案
按热度按时间ktecyv1j1#
字符串
的数据