r-替换没有包的文本向量中的字符串



我有两个向量:

Param<-c("alpha","beta","theta")
Trend<-c("b","c","ac","bc")

我想用Param向量中的项替换Trend向量的每个项;a";第一个元素(α(,b第二个元素(β(,依此类推…

期望的结果是:

Result=("beta","theta","alphatheta","betatheta")

如果可能的话,我不想使用任何包装,如果没有任何想法,欢迎:(

stringr中具有str_replace的选项,该选项可以采用命名矢量来替换

library(stringr)
str_replace_all(Trend, set_names(Param, letters[1:3]))
#[1] "beta"       "theta"      "alphatheta" "betatheta" 

或者,如果我们不想使用任何包,请在循环中使用gsub

lts <- letters[1:3]
for(i in seq_along(lts)) Trend <- gsub(lts[i], Param[i], Trend)
Trend

最新更新