2017-08-10 78 views
-2

我最近在研究生物信息学。我必须为我的变量编辑row.names。这里是我的情况:编辑R中的行名的字符长度

我有从癌症基因组图谱下载的临床数据和基因表达值。我必须匹配排名,但在临床数据中,我有这样的排名“TCGA-6D-AA2E”。但是在基因表达中,排名如“TCGA-6D-AA2E-01A-11R-A38B-07”。 通常我使用“匹配”命令来匹配行名称,但字符长度不相同。所以我的问题是“有没有简单的方法来编辑行名的字符长度?”

+0

你想要做什么?你想减少长度吗?你想选择一些字符?你能更明确吗? –

+0

我想选择此行名称中的前十二个字符“TCGA-6D-AA2E-01A-11R-A38B-07” – Elen

回答

0

你可以使用grep函数:

gene.names <- c("TCGA-6D-AA2E-01A-11R-A38B-07", "TCGC-6D-AA2E-01A-11R-A38B-07", "TAGA-6D-AA2E-01A-11R-07", "TCGA-6D-AA2E-A38B-07") 

pick <- "TCGA-6D-AA2E" 

grep(pick, gene.names) 
# [1] 1 4 

编辑基于注释:使用substr挑12个字符:

substr(gene.names, 0,12) 
#[1] "TCGA-6D-AA2E" "TCGC-6D-AA2E" "TAGA-6D-AA2E" "TCGA-6D-AA2E" 
+0

谢谢Mikko! substr正是我需要的! – Elen