使用formattable根据另一列的值为列着色

时间:2018-08-06 14:31:42

标签: r formattable

使用formattable包,可以很容易地根据自己的值为一列着色:

formattable::formattable(mtcars[1:3,1:2],list(mpg=color_text("blue","red")))

enter image description here

有没有一种方法可以根据mpg列中的值为列cyl着色? 谢谢!

1 个答案:

答案 0 :(得分:3)

请参阅“列表”下的第二个参数:

library(formattable)

formattable::formattable(mtcars[1:3,1:2], 
                     list(mpg = color_text("blue","red"),
                          cyl = formatter("span",
                                          style = x ~ style(color = ifelse(mtcars$mpg[1:3] == 21, "blue", "red")))))

“ ......我们将x定义为值,方法是将其放在〜的左侧,然后在右侧的函数中使用它(这是lambda函数,使用一些专业术语)” read more here