有没有一种方法可以为r Shiny的dataTableOutput中的特定行着色?
我发现的全部是,我可以设置orderClasses = TRUE为有序列着色,但是我想始终为输出数据表的第2列和第2行着色。我一直在阅读选项手册,但没有发现任何东西。
- - - - - -编辑 - - - - - - -
好的,所以在获得Yihui和user5029763的建议之后,我现在可以使用DT突出显示列,但是仍然难以突出显示行。这是我的代码,以虹膜数据集为例-如果Species是setosa,在这里我要突出显示整个行,但是,在我的计算机上,它仅突出显示setosa的单元格:
datatable(iris) %>% formatStyle(
'Species',
target = 'row',
backgroundColor = styleEqual('setosa', 'gray')
)
-------编辑-----------------------
抱歉,很长的帖子-实际上,我运行了此处指定的确切代码:http://rstudio.github.io/DT/010-style.html
library(DT)
options(DT.options = list(pageLength = 5))
df = as.data.frame(cbind(matrix(round(rnorm(50), 3), 10), sample(0:1, 10, TRUE)))
datatable(df) %>% formatStyle(
'V6',
target = 'row',
backgroundColor = styleEqual(c(0, 1), c('gray', 'yellow'))
)
而且它仍然仅突出显示单元而不是计算机上的行。我正在使用R的3.2.1版本和RStudio的0.99.447版本。我也有闪亮的github版本,不确定是否可以覆盖数据表中的任何选项?
最佳答案
Yihui发布的链接确实很好地解释了formatStyle,但是我认为那里没有提及“target”这一论点。
要为整个行着色,请在target="row"
中使用参数formatStyle
。