按 R 中的值有条件地更改 DT 字体颜色

Change DT font color conditionally by value in R

这是数据的最小示例table 我正在使用:

dt <- DT::datatable(data.frame('V1' = c(3,2,-1), 'V2' = c(3,-1,-7), 'V3' = c(3, -5,-12)))

我想将所有负值的字体颜色更改为红色。我已经尝试过 styleEquals 和 styleInterval,但我没有看到设置条件测试的方法,例如 value < 0.

我试过JS函数,但是我对javascript不太熟悉,这段代码不会产生table:

dt %>% formatStyle(columns = 1:3, color = JS("value < 0 ? 'red'"))

此 table 将在闪亮的应用程序中呈现。

像这样:

dt %>% formatStyle(1:3, color = styleInterval(0, c("red", "black")))