你好绝对的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和重命名可能会这样做,但不知道如何一起实现这些?
任何帮助都会非常感激。
答案 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