我有一个带有文本行的向量,如下所示:
text<-c("Seat 1: 7e7389e3 ($2 in chips)","Seat 3: 6786517b ($1.67 in chips)","Seat 4: 878b0b52 ($2.16 in chips)","Seat 5: a822375 ($2.37 in chips)","Seat 6: 7a6252e6 ($2.51 in chips)")
我必须用其他词替换一些词,我在这样的数据框中有:
df<-data.frame(codigo=c("7e7389e3","6786517b","878b0b52","a822375","7a6252e6"),
name=c("lucas","alan","ivan","lucio","donald"))
所以我想 1) 抓取“文本”的第一行 2) 检查 df 中是否有要替换的单词 3) 替换它 4) 对下一个“文本”行执行相同的操作等等。为了有这样的东西:
[1] "Seat 1: lucas ($2 in chips)"
[2] "Seat 3: alan ($1.67 in chips)"
[3] "Seat 4: ivan ($2.16 in chips)"
[4] "Seat 5: lucio ($2.37 in chips)"
[5] "Seat 6: donald ($2.51 in chips)"
有什么公式可以做到这一点?
最佳答案
我们可以使用 str_replace_all
轻松完成此操作,它可以采用命名向量
library(stringr)
library(tibble)
str_replace_all(text, deframe(df))
#[1] "Seat 1: lucas ($2 in chips)"
#[2] "Seat 3: alan ($1.67 in chips)"
#[3] "Seat 4: ivan ($2.16 in chips)"
#[4] "Seat 5: lucio ($2.37 in chips)"
#[5] "Seat 6: donald ($2.51 in chips)"
https://stackoverflow.com/questions/64597819/