r - 在数据框中为特定列标题添加前缀

时间:2016-10-21 09:00:42

标签: r dataframe rename

你好绝对的noob在这里如此道歉,如果我不知道你告诉我什么,没有一点谷歌,以帮助我理解!

我有一个带有6个cols的数据框,其中四个包含单词qPCR,即

... sample..id mean_qPCR..sd_qPCR..sem_qPCR..total_qPCR

Data <- data.frame( sample = sample(1:10), id = sample(1:10), mean_qPCR =sample(1:10), sd_qPCR = sample(1:10), sem_qPCR = sample(1:10), total_qPCR = sample(1:10))

我有多个像这样的数据框来查看不同的基因,所以我想在列中添加带有基因名称的qPCR,即

... sample..id gene_mean_qPCR..gene_sd_qPCR..gene_sem_qPCR..gene_total_qPCR

Data <- data.frame( sample = sample(1:10), id = sample(1:10), gene_mean_qPCR = sample(1:10), gene_sd_qPCR = sample(1:10), gene_sem_qPCR = sample(1:10), gene_total_qPCR = sample(1:10) )

我曾考虑使用重命名,但一次只能更改一个列标题。然后想着grepl和重命名可能会这样做,但不知道如何一起实现这些?

任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

您可以使用paste0在所需列添加前导基因。下面的代码片段的作用是识别(grepl)哪些列具有单词&#39; qPCR&#39;并添加字符串&#39;基因_&#39;使用paste0

names(Data)[grepl('qPCR', names(Data))] <- paste0('gene_', names(Data)[grepl('qPCR', names(Data))])

head(Data)
#  sample id gene_mean_qPCR gene_sd_qPCR gene_sem_qPCR gene_total_qPCR
#1     10  3              4            7             8               1
#2      5  1              2            5             3               7
#3      6 10              9           10            10               9
#4      2  5              6            3             9               8
#5      4  4              1            4             5               6
#6      9  6              3            1             4               4