如何使用R包刻度将值分为正值和负值

问题描述

我正在尝试使用包gthere)来构建表。 gt使用scales包中的颜色映射函数根据值填充表格单元格。我正在尝试使负值填充为红色,非负值填充为绿色。一个简单的例子

library(magrittr)
library(gt)

column_one <- c("Larry","Moe","Curly","Bob")
column_two <- c(-500,30000,100)

dframe <- data.frame(column_one,column_two,stringsAsFactors = FALSE)

names(dframe)[1] <- "Name"
names(dframe)[2] <- "Change"

dframe %>% gt() %>%
  data_color(
    columns=vars(Change),colors = scales::col_bin(
      palette = c("red","green"),bins=2,domain = NULL
    )
  )

生成此表

enter image description here

我不希望插入的芥末黄...只是红色或绿色。

摘自gt文档

颜色映射函数为:scales :: col_quantile(), scales :: col_bin(),scales :: col_numeric()和scales :: col_factor()

在实现此目标方面的任何帮助将不胜感激。

解决方法

您可以使用bins来指定要在其中插入数据的切点。尝试:

library(magrittr)
library(gt)

dframe %>% gt() %>%
  data_color(
    columns = vars(Change),colors = scales::col_bin(
      bins = c(-Inf,Inf),palette = c("red","green"),)
  )

enter image description here