我目前正在根据下面两列中的值的比较来为表中的值着色。但是,我不确定如何更改颜色,如果差异〉3(绿色),〈3(红色),差异+/- 3(蓝色)
mydata<-
School col1 col2
A 2 10
A 10 7
A 12 31
B 0 3
B 5 2
B 5 1
B 7 7
期望输出
School col1 col2 col1_color
A 2 10 red
A 10 7 blue
A 12 31 red
B 0 3 blue
B 5 2 green
B 5 1 green
B 7 7 blue
我的代码:
improvement_formatter <- formatter("span",
style = x ~ style(color = ifelse(x > mydata$col1, "blue", ifelse(x < mydata$col2, "Red","green"))),
x ~ icontext(ifelse(x<0, "arrow-up", "arrow-down"),x)
)
formattable(mydata, list(`mydata$col1` = improvement_formatter))
1条答案
按热度按时间j2qf4p5b1#
我通过ifelse()将两列的差值与所需的颜色值进行比较,得到了所需的输出。我将差值放在一列中,用于比较非蓝色输出。我创建了一个绝对值列,用于在进入ifelse嵌套时检查蓝色结果。