Вы можете идентифицировать строки с помощью "dm"
с помощью grep
/ grepl
и изменять их значения с помощью paste0
.
inds <- grep('dm', df$text)
df$text[inds] <- paste0('*', df$text[inds], '*')
df
# id text
#1 1 abc
#2 2 *admc*
Использование синтаксиса data.table
позволяет избежать создания временной переменной (inds
).
library(data.table)
setDT(df)[grep('dm', text), text := paste0('*', text, '*')]
data
df <- structure(list(id = 1:2, text = c("abc", "admc")),
class = "data.frame", row.names = c(NA, -2L))