【问题标题】:How can I remove certain characters from column headers in R? [duplicate]如何从 R 中的列标题中删除某些字符? [复制]
【发布时间】:2021-08-30 14:53:35
【问题描述】:

我有以下数据框:

Gene <- c(1,2,3,4,5,6)
A1.1 <- c(1,1,2,4,3,5)
B1.1 <- c(2,1,4,2,4,5)
C1.1 <- c(2,4,3,2,1,5)
A1.2 <- c(1,1,2,3,4,5)
B1.2 <- c(2,2,3,4,5,1)
C1.2 <- c(3,3,2,1,4,5)

df <- data.frame(Gene, A1.1, B1.1, C1.1, A1.2, B1.2, C1.2)
df

  Gene A1.1 B1.1 C1.1 A1.2 B1.2 C1.2
1    1    1    2    2    1    2    3
2    2    1    1    4    1    2    3
3    3    2    4    3    2    3    2
4    4    4    2    2    3    4    1
5    5    3    4    1    4    5    4
6    6    5    5    5    5    1    5

如何从每个列标题中删除“.1”和“.2”(或第 3 和第 4 个字符)? (例如,A1.1 -> A1 或 A1.2 -> A1)。我可以用gsub()吗?

【问题讨论】:

标签: r gsub


【解决方案1】:

我们可以使用sub 来匹配字符串末尾($)后跟一个或多个数字(\\d+)的.(元字符 - 所以转义)并替换为空白(@987654325 @)

names(df) <- sub("\\.\\d+$", "", names(df))

注意:如果数据为data.frame,不允许重复列名,不推荐

【讨论】:

    猜你喜欢
    • 2013-02-16
    • 2022-08-05
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 2016-10-05
    • 1970-01-01
    • 2014-02-28
    • 2021-01-23
    相关资源
    最近更新 更多