#r #string #dataframe
#r #строка #фрейм данных
Вопрос:
Допустим, у меня есть фрейм данных, который выглядит следующим образом:
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>
Каков наилучший способ достижения этого результата?
(первый столбец представляет имена строк)
Ответ №1:
Мы можем использовать объединение
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>
Ответ №2:
Вы можете сделать это следующим образом:
text <- c("hello", "this", "is", "a", "text")
bold <- c("hello", "text")
index <- text%in%bold
text[index] <- paste("<b>", text[index], "</b>", sep = "")