因子级别上的Grep和子集

时间:2016-04-06 13:49:40

标签: r

我有一个如下所示的数据框:

  

my_df [1,]
  gene_id ENSG00000171680.16; transcript_id ENST00000400915.3; gene_type protein_coding; gene_status已知; gene_name PLEKHG5; transcript_type protein_coding; transcript_status已知; transcript_name PLEKHG5-002;外显子4; exon_id ENSE00003634700.1; 2级; protein_id ENSP00000383706.3;标签基本; tag appris_candidate;标签CCDS; ccdsid CCDS41241.1; havana_gene OTTHUMG00000000905.3; havana_transcript OTTHUMT00000002631.1;

     

my_df [2,1]
  gene_id ENSG00000173662.15; transcript_id ENSG00000173662.15; gene_type protein_coding; gene_status已知; gene_name TAS1R1; transcript_type protein_coding; transcript_status已知; transcript_name TAS1R1; 1级; havana_gene OTTHUMG00000001441.2;   7734级别:gene_id ENSG00000007923.11; transcript_id ENSG00000007923.11; gene_type protein_coding; gene_status已知; gene_name DNAJC11; transcript_type protein_coding; transcript_status已知; transcript_name DNAJC11; 2级; havana_gene OTTHUMG00000001443.3; ...

my_df [N,]

................

我只想对完整数据帧的每一行(14.000行和1列)中包含的ENSG *进行子集化。 我试图使用grep函数但不幸的是它返回整数(0) 预期产量:
gene_id ENSG00000007923.11
gene_id ENSG00000173662.15
.............

你能帮我解决一下这个问题吗?

亲切的问候

1 个答案:

答案 0 :(得分:0)

我认为你必须使用这个模式:

pattern <- '[E][N][S][G]'

在grep()函数中使用此模式,该函数将返回匹配的行号。

因此,您可以对数据框进行子集化。