Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:将数据框的列格式化为与查找表兼容_R_Bioinformatics_Data Cleaning - Fatal编程技术网

R:将数据框的列格式化为与查找表兼容

R:将数据框的列格式化为与查找表兼容,r,bioinformatics,data-cleaning,R,Bioinformatics,Data Cleaning,我有两个格式不稳定的data.Frame。一个是大型引用,另一个是我想查找的子集,以便从引用中提取其他数据,但格式化很困难 较小的子集如下所示: > head(lookup, n = 2) gene_id class_code nearest_ref_id 1 XLOC_001184 <NA> <NA> 2 XLOC_001225 <NA> <NA> >

我有两个格式不稳定的data.Frame。一个是大型引用,另一个是我想查找的子集,以便从引用中提取其他数据,但格式化很困难

较小的子集如下所示:

> head(lookup, n = 2)

      gene_id class_code nearest_ref_id
1 XLOC_001184       <NA>           <NA>
2 XLOC_001225       <NA>           <NA>


> gene_short_name
1      ORF%20Transcript_11308%7Cg.37058%20Transcript_11308%7Cm.37058%20type%3Acomplete%20len%3A195%20%28%2B%29
2 ORF%20Transcript_11347%7Cg.37236%20Transcript_11347%7Cm.37236%20type%3A5prime_partial%20len%3A87%20%28%2B%29

                    locus length coverage
1 Transcript_11308:0-1727     NA       NA
2 Transcript_11347:0-1584     NA       NA
参考$seq_names
中有一个空格,
查找$lock
中有一个
,后面有一些额外的数字

一些
引用$seq_名称
具有更多空格的额外信息。例如:

4        Transcript_3 len=440 CDS=1-439 exon=0-440 five_prime_UTR=439-440 gene=0-440 mRNA=0-440 three_prime_UTR=0-1
转录本_1234
位是唯一标识符


最后,我想为每个
lookup$lock
检索
reference$sequences
,并将其附加到一个新列
lookup$sequence
,或者创建一个只包含
XLOC_1234
转录本_1234
位和相应序列的新数据框。感谢您的建议。

根据您提供的信息,我在这里为您提供一些解决问题的建议/策略。假设您的数据类型是
data.frame
s,而不是像
genomarranges
这样的专门类。(使用功能
class
进行双重检查)

  • 首先,您需要清理列
    reference$seq_names
    ,方法是去除您提到的多余空间。诸如
    gsub
    str_replace
    之类的功能将非常有用。看
  • 类似地,需要清理
    查找
    data.frame。要在
    之后删除文本/数字,函数
    gsub
    是您的朋友;您可以将其与正则表达式相结合,删除感兴趣的符号后的所有内容。例如:

    4        Transcript_3 len=440 CDS=1-439 exon=0-440 five_prime_UTR=439-440 gene=0-440 mRNA=0-440 three_prime_UTR=0-1
    
    查找$locus