我想通过 B 列中的值为 A 列中的行着色。
下面的代码基于小插图链接中的示例,但仅显示两列的条件:按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着色。
有什么想法吗?
尝试这样的事情:
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
指定应使用backgroundColor
styleEqual
中指定的条件计算哪些列。
请注意,columns
中的顺序对应于valueColumns
中的顺序(例如,"mobile_number"有条件地由"mobile_flag"着色(。