如何在R语言字符向量中拼接特定模式字符串与前序字符串?
解决R语言字符串拼接问题
先看你的原始字符向量:
vec <- c( 'red yellow orange', 'green white', 'blue', 'orange purple', 'green brown', 'red' )
要实现把单独的blue和red拼接到它们的前一个字符串前,可以按以下步骤操作:
- 定义需要处理的目标关键词:
targets <- c("blue", "red")
- 定位这些关键词在向量中的位置(仅匹配完全一致的独立元素):
target_positions <- which(vec %in% targets)
- 遍历目标位置,将关键词拼接到前一个元素的前方:
for (pos in target_positions) { if (pos > 1) { # 规避第一个元素无前置项的越界问题 vec[pos - 1] <- paste(vec[pos], vec[pos - 1], sep = " ") } }
- 查看最终处理结果:
vec
运行后输出结果:
[1] "red yellow orange" "blue green white" "blue" "orange purple" "red green brown" "red"
这个方法精准定位到独立的目标关键词,仅修改对应前置元素,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者Noah_Seagull
相关产品推荐
相关产品推荐

