我可以用R突出显示段落中的一些单词背景色吗?

我可以用R突出显示段落中的一些单词背景色吗?,r,text,background-color,keyword,R,Text,Background Color,Keyword,我有一些段落,每个段落都有不同的关键词。例如: I am a student. I like machine learning... 这里我的关键词是学生和机器学习。我想给他们不同的颜色,如红色的学生和黄色的机器学习。因此,结果应该是: 我能用R来做这件事吗?怎么做 而且,我知道Python可以以某种方式做到这一点。例如: from spacy import displacy doc = nlp('I just bought 2 shares at 9 a.m. because the s

我有一些段落,每个段落都有不同的关键词。例如:

I am a student. I like machine learning...
这里我的关键词是学生和机器学习。我想给他们不同的颜色,如红色的学生和黄色的机器学习。因此,结果应该是:

我能用R来做这件事吗?怎么做

而且,我知道Python可以以某种方式做到这一点。例如:

from spacy import displacy

doc = nlp('I just bought 2 shares at 9 a.m. because the stock went up 30% in just 2 days according to the WSJ')
displacy.render(doc, style='ent', jupyter=True)
在这里,结果是:


但这看起来只是一个名称实体。在我的例子中,我的关键字是由我自己提取的。因此可能会有所不同

正如我不久前为此目的创建的评论中提到的那样。它仍然是相当实验性的,目前只能在
RMarkdown
中使用,或者它将打开一个浏览器窗口(Rstudio中的查看器窗格)以在交互使用时显示文本

# devtools::install_github("JBGruber/highlightr")
library(highlightr)
text <- "I am a student. I like machine learning..."
df <- data.frame(
  feature = c("student", "machine learning"),
  bg_colour = c("red", "yellow"),
  stringsAsFactors = FALSE
)
dict <- as_dict(df)
highlight(text, dict)
#devtools::install_github(“JBGruber/highlightr”)
图书馆(highlightr)

text如评论中所述,我不久前为此目的创建了。它仍然是相当实验性的,目前只能在
RMarkdown
中使用,或者它将打开一个浏览器窗口(Rstudio中的查看器窗格)以在交互使用时显示文本

# devtools::install_github("JBGruber/highlightr")
library(highlightr)
text <- "I am a student. I like machine learning..."
df <- data.frame(
  feature = c("student", "machine learning"),
  bg_colour = c("red", "yellow"),
  stringsAsFactors = FALSE
)
dict <- as_dict(df)
highlight(text, dict)
#devtools::install_github(“JBGruber/highlightr”)
图书馆(highlightr)

短信也许。。。?你想创建什么类型的输出?嘿,我编辑了我的问题。也许现在更清楚了。也许看看包装。不久前我开始写作。这是相当实验性的,目前只适用于html输出,但也许它可以满足您的目的。看起来很酷。但当我尝试安装您的软件包时,我收到这样的错误消息:错误:无法从GitHub安装“未知软件包”:达到超时:[api.GitHub.com]连接在10000毫秒后超时可能。。。?你想创建什么类型的输出?嘿,我编辑了我的问题。也许现在更清楚了。也许看看包装。不久前我开始写作。这是相当实验性的,目前只适用于html输出,但也许它可以满足您的目的。看起来很酷。但当我尝试安装您的软件包时,我收到这样的错误消息:错误:无法从GitHub安装“未知软件包”:已达到超时:[api.GitHub.com]连接在10000毫秒后超时
# bg_colour
for (j in seq_along(dict$feature)) {
  text[i] <- stringi::stri_replace_all_fixed(
    str = text[i],
    pattern = dict$feature[j],
    replacement = paste0("<span style='background-color: ",
                         dict$bg_colour[j], "'>",
                         dict$feature[j], "</span>"),
    opts_fixed = stringi::stri_opts_fixed(case_insensitive = case_insensitive)
  )
}