R语言如何按共享索引拼接两个字符串列表且结果无空格
R语言按位置对应拼接两个字符向量的实现方法
首先先修正你给出代码里的R语法错误:R中构造向量需要使用c()函数,而非方括号,同时你定义的b向量中Two字符串缺失前引号,正确的初始化写法为:
a <- c("Cat", "Dog", "Mouse") b <- c("One", "Two", "Three")
R的字符串处理函数原生支持向量化运算,不需要逐元素循环、也不需要搭配gsub就能实现向量对应位置的字符串拼接。你需要无分隔符的逐对拼接,直接调用paste0()传入两个向量即可,函数会自动按下标一一匹配元素完成拼接:
c <- paste0(a, b)
运行后查看c的内容,就是你预期的结果:
> print(c) [1] "CatOne" "DogTwo" "MouseThree"
补充说明:如果后续拼接需要添加固定分隔符,可以换用paste()函数,通过sep参数指定分隔符即可,例如要在两个字符串中间加短横,就写paste(a, b, sep = "-"),输出结果为"Cat-One" "Dog-Two" "Mouse-Three"。注意如果两个输入向量长度不一致,R会自动循环复用较短向量的元素,你这里两个向量长度均为3,可以直接得到完全匹配的结果。
内容的提问来源于stack exchange,提问作者Ana Fsshaie
相关产品推荐
相关产品推荐

