如何在 kableExtra HTML table 中使用 unicode 符号

How to use unicode symbols in a kableExtra HTML table

我在 R 中有以下数据框

data <- structure(list(Category = c("Item 1", "Item 2", "Item 3"), `Month 1` = c(-3.7, 
0.8, -2.1), `Month 2` = c(-2.1, 0.8, -3.7)), row.names = c(NA, 
-3L), class = c("tbl_df", "tbl", "data.frame"))

我正在使用此数据框使用 kableExtra 创建一个 table(并最终以 HTML 格式呈现)。下面,我创建了一个额外的列,它使用 2 个 ifelse 参数(如果第 2 个月 > 第 1 个月,则单词“向上”,如果第 2 个月 < 第 1 个月,则“向下”,如果第 2 个月 = 第 1 个月,则为空白)。我不想用文字,而是想在此 link 中使用 unicode 符号来显示箭头。

有没有办法使用 unicode 十六进制代码而不是单词,这样我就可以用东北箭头表示“向上”,用向右箭头表示空白参数,用东南箭头表示“向下”?

library(kableExtra)
library(tidyverse)

data %>% 
  mutate(Trend = ifelse(.[,3] > .[,2],"Up", ifelse(.[,3] == .[,2], "",  "Down"))) %>% 
  kable() %>% 
  kable_styling()

我最终希望按照我所附图片的方式复制一些东西

一个选项是formattable

library(dplyr)
library(formattable)
data <- data %>% 
    mutate(Trend = case_when(`Month 2` > `Month 1` ~ "Up",
      `Month 1` > `Month 2` ~ "Down", TRUE ~ "" ))


formattable(data, list(
  
  Trend = formatter(
    "span",
    style = x ~ style(color = case_when(x =="Up" ~ "green",
      x == "Down" ~ "red", TRUE ~ "black")),
    x ~ icontext(case_when(x == "Down"~ "arrow-down",
        x== "Up" ~ "arrow-up", TRUE ~ "arrow-right")))
))

-输出

使用kableExtra-

library(dplyr)
library(kableExtra)

data %>%
  mutate(Trend = case_when(`Month 1` == `Month 2` ~ "$\rightarrow$", 
                           `Month 2` > `Month 1` ~ "$\uparrow$", 
                           TRUE ~ "$\downarrow$")) %>%
  kable() %>% kable_styling()

可以从 this pdf.

中找到合适的符号