gpt4 book ai didi

使用 "arithmetic progression"重命名数据框中的列

转载 作者:行者123 更新时间:2023-12-04 10:26:19 25 4
gpt4 key购买 nike

假设我有以下 data.frame 由多行(此处未全部显示)和 31 列组成。第一个(并且应该保留)标记为“gene_ID”,从第二个一直到第 30 列,它们都有奇怪的名称,如下所示:

 |gene_ID | weird1| weird2|all_the_way_to | weird30|
|:-------|------:|------:|:--------------|-------:|
|BPK282x | 4| 1|... | 7|
|BPK282y | 5| 2|... | 8|
|BPK282z | 6| 3|... | 9|

我想按如下模式重命名所有 30 个列名称:TPM_1、TPM_2、TPM_3、TPM_4.....TPM_30,结果如下表:

 |gene_ID | TPM_1| TPM_2|all_the_way_to | TPM_3|
|:-------|-----:|-----:|:--------------|-----:|
|BPK282x | 4| 1|... | 7|
|BPK282y | 5| 2|... | 8|
|BPK282z | 6| 3|... | 9|

我可以通过以下方式单独重命名列:

names(data.frame) <- c("gene_ID", "TPM_1", "TPM_2", "TPM_3", ..., "TPM_30")

但我想知道是否有一种方法可以通过使用一个函数来自动化该过程,该函数将在列的名称上采用算术级数之类的东西。换句话说,我试图找到一种方法来重命名我的列的模式(TPM_后跟一个数字),因为列的名称将是“TPM_n”、“TPM_n+1”、“TPM_n+2”、TPM_n+ 3”,一直到“TPM_n+30”

最佳答案

你可以使用paste0

colnames(df) <- paste0("TPM_", 1:30)

#[1] "TPM_1" "TPM_2" "TPM_3" "TPM_4" "TPM_5" "TPM_6" "TPM_7" "TPM_8" "TPM_9"
#[10]"TPM_10" "TPM_11" "TPM_12" TPM_13" "TPM_14" "TPM_15" "TPM_16" "TPM_17" "TPM_18"
#[19]"TPM_19" TPM_20" "TPM_21" "TPM_22" "TPM_23" "TPM_24" "TPM_25" "TPM_26" "TPM_27"
#[28] "TPM_28" "TPM_29" "TPM_30"

您始终可以指定要更改的列的索引

colnames(df)[2:31] <- paste0("TPM_", 1:30)

关于使用 "arithmetic progression"重命名数据框中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38631359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com