根据行名称向数据框中的字符串添加字符

时间:2016-10-19 08:35:57

标签: r string dataframe

我们说我的数据框看起来像这样:

    number  text

 1   3      hello
 2   3      this
 3   3      is
 4   3      a
 5   3      text

我有第二个数据框,如下所示:

    number  text

 1   3      hello
 5   3      text

我的最终输出应如下所示:

    number  text

 1   3      <b>hello</b>
 2   3      this
 3   3      is
 4   3      a
 5   3      <b>text</b>

实现这一结果的最佳方法是什么?

(第一列代表行名称)

2 个答案:

答案 0 :(得分:0)

我们可以使用联接

library(data.table)
setDT(df1)[df2, text := paste0("<b>", text, "</b>"), on = "text"]
df1
#     number         text
#1:      3 <b>hello</b>
#2:      3         this
#3:      3           is
#4:      3            a
#5:      3  <b>text</b>

答案 1 :(得分:0)

你可以这样做:

text <- c("hello", "this", "is", "a", "text")
bold <- c("hello", "text")
index <- text%in%bold
text[index] <- paste("<b>", text[index], "</b>", sep = "")