我正在尝试使用R中数据框同一行的另一列中的单词从一行中填充模板。

这是我要执行的操作的一个示例:

x <- data.frame("replacement" = c("two", "ten"),
"text" = c("we had <replacement> books", "we had <replacement> books"),
"result" = c("we had two books", "we had ten books"))


我尝试使用gsub,但是它代替了所有单词,而不是一个单词:

x$result <- gsub("\\<.+?\\>", x$replacement, x$text)

最佳答案

我们可以使用str_replace作为文档(?str_replace)所说的


通过字符串,样式和替换矢量化。


library(stringr)
library(dplyr)
library(magrittr)
x %<>%
  mutate(result = str_replace(text, "<replacement>", as.character(replacement)))

07-25 20:19