首页 > 解决方案 > 如何替换r中列中字符串的第二个字符

问题描述

这是一个数据框的示例。

Type <- c('[C>A]','[C>G]','[C>T]')
Subtype <- c('ACA','ACT','ACC')
df <- cbind(Type, Subtype)
df
     Type    Subtype
[1,] "[C>A]" "ACA"
[2,] "[C>G]" "ACT"
[3,] "[C>T]" "ACC"

这就是我希望输出的样子

      Type    Subtype
[1,] "[C>A]" "A[C>A]A"
[2,] "[C>G]" "A[C>G]T"
[3,] "[C>T]" "A[C>T]C"

标签: rgsub

解决方案


一种天真的方法:

df[, 2] <- paste0(substr(df[, 2], 1, 1), df[, 1], substr(df[, 2], 3, 3))
df
#       Type    Subtype  
# [1,] "[C>A]" "A[C>A]A"
# [2,] "[C>G]" "A[C>G]T"
# [3,] "[C>T]" "A[C>T]C"

推荐阅读