我想通过B列中的值为A列中的行着色。
以下代码基于小插图Link中的示例,但仅显示两列的条件:mobile_flag的mobile_number。
数据:
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着色。
任何想法如何?
答案 0 :(得分:4)
尝试这样的事情:
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
指定应使用styleEqual
backgroundColor
中指定的条件评估哪些列。
请注意在columns
与为了在valueColumns
对应的顺序(例如" MOBILE_NUMBER"有条件地由&#34着色; mobile_flag&#34)。