【问题标题】:Conditional formatStyle in DTDT 中的条件格式样式
【发布时间】:2017-11-18 03:54:43
【问题描述】:

我想用 B 列中的值为 A 列中的行着色。

下面的代码基于小插图Link 中的示例,但仅显示了两列的条件:mobile_number by 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

我的 DT 表:

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

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

有什么想法吗?

【问题讨论】:

    标签: r dt htmlwidgets


    【解决方案1】:

    试试这样的:

    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"))
        )
    

    columns 指定您希望有条件地格式化哪些列。 valueColumns 指定应使用styleEqualbackgroundColor 中指定的条件评估哪些列。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-13
      • 2018-02-06
      • 2017-03-19
      • 1970-01-01
      • 2013-07-29
      • 2018-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多