如何使用R软件包将值分为正值和负值

如何使用R软件包将值分为正值和负值,r,gt,R,Gt,我正在尝试使用包gt()构建一个表gt使用scales包中的颜色映射函数根据值填充表格单元格。我试着用红色填充负值,用绿色填充非负值。一个简单的例子 library(magrittr) library(gt) column_one <- c("Larry", "Moe", "Curly", "Bob") column_two <- c(-500, 30000, 0, 100) dframe <-

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

library(magrittr)
library(gt)

column_one <- c("Larry", "Moe", "Curly", "Bob")
column_two <- c(-500, 30000, 0, 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
    )
  )
库(magrittr)
图书馆(gt)

第一列您可以使用
bin
指定要将数据打断的切点。尝试:

library(magrittr)
library(gt)

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