R:如何将向量中的值作为args传递给gsub

时间:2016-11-18 16:38:44

标签: r

gsub需要字符串参数。但我想处理一整套字符串替换。我的示例代码如下,但不起作用

pairs <- c(c("a", "b"), c("e", "f"))
gsub("a", "b", "age")
#[1] "bge"

p1 <- pairs[1][1]
p1
#[1] "a"

p2 <- pairs[1][2]

gsub(p1, p2, "age")
#[1] NA

我确定这是关于向量和字符串之间差异的基本要素,但我不知道如何解决它。为无疑是一个重复的问题道歉,但我试图谷歌搜索了很多虚假的线索

因此,通过以下评论和回答,我现在明白了: 没有真正得到“一切都是矢量”我正在制作一个虚假的心理模型,c(“a”,“b”)将字符转换为字符矢量。 通过扩展,我认为c(c(“a”,“b”),c(“e”,“f”))正在创建一个矢量矢量 但是c(“a”,“b”)实际上是将2个单元素向量组合成单个2元素向量,并通过扩展c(c(“a”,“b”),c(“e”,“f) “))实际上将两个2元素向量组合成4元素向量。 因此,矩阵确实是我应该首先使用的。 谢谢你们!

1 个答案:

答案 0 :(得分:0)

虽然你有pairs作为字符向量的向量。最后,如果你检查pairs,它会给出

pairs
#[1] "a" "b" "e" "f"

因此,您可以将它们与单个索引一起使用

p1 <- pairs[1]
p2 <- pairs[2]

gsub(p1, p2, "age")
#[1] "bge"