首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在R tablehtml中突出显示某些字符串?

如何在R tablehtml中突出显示某些字符串?
EN

Stack Overflow用户
提问于 2018-08-14 15:30:57
回答 1查看 158关注 0票数 0

这就是我想要的

下面是我在Clemens帖子后面的代码

代码语言:javascript
复制
library(magrittr)
sample1$sentence %<>% 
stringr::str_replace_all(c('red' = '<span style="background- color:blue">red</span>'))
sample1 %>% 
tableHTML()

有人能帮帮忙吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-14 21:14:22

使用的包:

代码语言:javascript
复制
library(dplyr)
library(tableHTML)

示例数据:

代码语言:javascript
复制
sample1 <- data.frame(words = c("interested", "red", "black"),
                      sentence = c("I am very interested in this topic",
                                   "Multiple color: red, blue, black",
                                   "multiple color: red, blue, black"),
                      stringsAsFactors = FALSE)

创建一个列表来存储单词和要应用于它们的颜色:

代码语言:javascript
复制
word_colour <- list(interested = "red",
                    red = "blue",
                    black = "purple")

下面的函数使用word_colour,查找句子中的单词,并在其周围添加一个带有内联CSSspan,用于更改字体颜色。

代码语言:javascript
复制
replace_word <- function(word_colour, df) {
  word <- df$words
  sentence <- df$sentence

  stringr::str_replace(string = sentence,
                       pattern = word,
                       replacement = paste0('<span style="color:', 
                                            word_colour[[word]], 
                                            '">',
                                            word,
                                            '</span>'))

  }

然后,您可以将所有这些链接在一起。重要提示:rowwise允许您逐行浏览数据。do()被用作通用操作函数。

代码语言:javascript
复制
sample1 %>% 
  rowwise %>% 
  do({
    df = as_data_frame(.)
    df$sentence = replace_word(word_colour, df)
    df
  }) %>% 
  tableHTML(rownames = FALSE,
            escape = FALSE)

结果是:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51835967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档