R语言中向向量插入修改字符串且不排序的简洁方案
简洁实现方案
这里有两个简洁的R语言实现方式,都能满足你的需求:
方案一:利用rbind+c()快速拼接
vec <- c("D", "A", "B", "A") # 生成目标向量 result <- c(rbind(vec, paste0(vec, "_2")))
原理:先通过paste0(vec, "_2")生成所有带_2的字符串向量,再用rbind把原向量和新向量按行合并,最后用c()将二维结构展平成一维,自然就实现了每个原元素后紧跟对应修改元素的效果。
方案二:用lapply+unlist逐个处理
vec <- c("D", "A", "B", "A") # 生成目标向量 result <- unlist(lapply(vec, function(x) c(x, paste0(x, "_2"))))
原理:对原向量中的每个元素,单独生成包含原元素和拼接后元素的小向量,再通过unlist把所有小向量合并成一个大向量,顺序完全和原向量一致。
内容的提问来源于stack exchange,提问作者benson23
相关产品推荐
相关产品推荐

