我想根据 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 着色。
有什么想法吗?
尝试这样的事情:
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
中指定的条件评估哪些列。styleEqual
backgroundColor
请注意,in 的顺序columns
与in 的顺序相对应valueColumns
(例如,“mobile_number”由“mobile_flag”有条件地着色)。