条件格式 DT 中的样式

Pro*_*eus 3 r dt htmlwidgets

我想根据 B 列中的值对 A 列中的行进行着色。

下面的代码基于 vignette Link中的示例,但仅显示两列的条件:mobile_number 和 mobile_flag。

数据:

head(test[, c("EMBG","mobile_number", "home_number",  "mobile_flag", "home_number_flag")])
          EMBG mobile_number      home_number mobile_flag
1 101001455126   075-201-543      02/2446-275     correct
2 101010455015   55555555555      55555555555   incorrect
3 101014455095             0                0   incorrect
4 101947455134   075/482-356      02/2460-020     correct
5 101952450264  070 22 16 18 ----------------     correct
6 101953450012             0      02/2446-276   incorrect
  home_number_flag
1          correct
2        incorrect
3        incorrect
4          correct
5        incorrect
6          correct
Run Code Online (Sandbox Code Playgroud)

我的DT表:

> datatable(test) %>% formatStyle(
+   'mobile_number', 'mobile_flag',
+   backgroundColor = styleEqual(c("correct", "incorrect"), c('green', 'red'))) 
Run Code Online (Sandbox Code Playgroud)

但是,我想分别根据 home_number_flag 和 mobile_flag 同时为 mobile_number 和 home_number 着色。

有什么想法吗?

Hal*_*wan 6

尝试这样的事情:

library(DT)
datatable(test) %>%
    formatStyle(
        columns = c("mobile_number", "home_number"),
        valueColumns = c("mobile_flag", "home_number_flag"),
        backgroundColor = styleEqual(c("correct", "incorrect"), 
                                     c("green", "red"))
    )
Run Code Online (Sandbox Code Playgroud)

columns指定您想要对哪些列进行条件格式设置。指定应使用ofvalueColumns中指定的条件评估哪些列。styleEqualbackgroundColor

请注意,in 的顺序columns与in 的顺序相对应valueColumns(例如,“mobile_number”由“mobile_flag”有条件地着色)。