2016-04-05 32 views
-2

如何通过模式匹配重命名名称;仅保留其与 “B” 从第2列开始琴弦4使用模式匹配将名称重命名为

colnames(J)

 "ensembl_gene_id" "Sample_3605_1_B1_1321584_RC" "Sample_3605_2_B2_1321584_Eso" "Sample_3605_5_B14_1326370_RC" "Sample_3605_8_B19_1326383_RC" "chromosome_name" "start_position" "end_position" 

预期输出

"ensembl_gene_id" "B1" "B2" "B14" "B19" "chromosome_name" "start_position"     "end_position" 

我试图

j[2:4] <- gsub(pattern = "^Sample_3605_[[:digit:]]","",j[2:4])  
+4

'colnames(J)< - GSUB( “\\ 1”,colnames( “* _(B [^ _] *)*。?”。 j)条)'? –

回答

1

你可以请执行以下操作:

j[2:4] <- gsub(pattern = "^Sample_3605_[[:digit:]]_(B[^_]*).*","\\1",j[2:4])  
+0

Karthik,你能解释一下这里使用的通配符吗? – beginner

1

,当然还有stringr溶液

library(stringr) 
str_extract(colnames(j)[2:4], 'B[0-9]+')