在R语言中生成交替追加POS、NEG后缀的向量的方法
实现代码
你可以直接用以下R代码实现需求,兼容任意长度的输入向量:
# 原向量 tt <- c("chr1:110363793:G:C", "chr1:110363823:A:G", "chr1:110363849:A:G") # 生成交替后缀并拼接 suffix_1 <- ifelse(seq_along(tt) %% 2 == 1, "_POS", "_NEG") suffix_2 <- ifelse(seq_along(tt) %% 2 == 1, "_NEG", "_POS") result <- c(paste0(tt, suffix_1), paste0(tt, suffix_2))
结果验证
打印result即可得到你需要的输出:
print(result) # 输出: # [1] "chr1:110363793:G:C_POS" "chr1:110363823:A:G_NEG" "chr1:110363849:A:G_POS" # [4] "chr1:110363793:G:C_NEG" "chr1:110363823:A:G_POS" "chr1:110363849:A:G_NEG"
逻辑说明
- 用
seq_along(tt)生成和输入向量长度匹配的连续索引,通过奇偶判断自动分配_POS、_NEG后缀 - 先拼接第一组正序交替后缀,再拼接第二组反序交替后缀,合并后完全符合要求
- 代码不需要修改就能适配不同长度的输入向量,不用硬编码固定后缀数量
内容的提问来源于stack exchange,提问作者Achal Neupane
相关产品推荐
相关产品推荐

