这就是我得到的,但当我运行代码时,我得到Error: object 'Name' not found.有什么办法可以继续下go 吗?

library(gt)

data <- data.frame(
  Name = c("John Doe", "Jane Smith", "Bob Johnson"),
  Age = c(30, 25, 35))

highlight_word <- "Doe"


 gt(data) |> 
  tab_style(
    locations = cells_body(columns = Name),
    style = list(cell_text(color = 
                    ifelse(str_detect(Name, highlight_word), "yellow", "white")))) 
 

推荐答案

有几种方法可以try .一种是使用fmt_markdown在GT表中使用Markdown格式的文本进行呈现.另一个使用text_transform修改表格中目标单元格中的格式化字符串.后者需要根据需要转换文本的函数.

library(gt)
library(stringr)
library(tidyverse)

使用fmt_markdown:

data |>
  mutate(Name = str_replace(Name, highlight_word, paste0('<a style = "color:yellow">', highlight_word, '</a>'))) |>
  gt() |>
  fmt_markdown(columns = Name)

使用text_transform:

gt(data) |>
  text_transform(locations = cells_body(columns = Name),
                 fn = \(x) {
                   str_replace(x, highlight_word, paste0('<a style = "color:yellow">', highlight_word, '</a>'))
                 })

Output

gt table with yellow word in cell

R相关问答推荐

用apply/map/etch替换循环以加快速度

如何在列表的子元素上使用setName

如何在球体上绘制轮廓线?

图片中令人惊讶的行为

如何使用Cicerone指南了解R Shiny中传单 map 的元素?

如果行和列名以相同的开头,将矩阵值设置为0

更改Heatmap Annotation对象的名称

如果列中存在相同的字符串,则对行值进行总和

在R中查找每个组不同时间段的总天数

如何删除R中除某些特定名称外的所有字符串?

获取列中值更改的行号

如何使用按钮切换轨迹?

制作等距离的线串副本

合并DFS列表并将索引提取为新列

计算满足R中条件的连续列

在R函数中使用加号

如何将一个方阵分解成没有循环的立方体

删除在R中的write.table()函数期间创建的附加行

向R中的数据帧添加一列,该列统计另一列中每个唯一值的二进制观测值的数量

使用同一行中的前一个值填充R矩阵中的缺失值