在R中读取delim文件

时间:2011-09-13 09:14:58

标签: r import

我从ilumina网站下载了illumina注释文件(文本)。当我想阅读时,它会引发一个错误:

[Error in data[[rowvar]] : attempt to select less than one element][1]

这是我用过的代码:

annotation=read.delim("MouseWG-6_V2_R3.txt", row.names="Array_Address_Id", dec=",")

请有人帮助我。

Here is link to the text file

1 个答案:

答案 0 :(得分:2)

您无法使用标准R函数read.delim()read.table()读取该文件,因为它不是类似电子表格的格式 - 即它不是由分隔符分隔的普通表格数据

该文件包含标题:

? Illumina, Inc.
[Heading]
Date    7/1/2010
ContentVersion  2.0
FormatVersion   1.0.0
Number of Probes    45281
Number of Controls  974
[Probes]

我们可以跳过,但是[Probes]部分之后还有另一部分看起来像这样:

[Controls]
Probe_Id    Array_Address_Id    Reporter_Group_Name Reporter_Group_id   Reporter_Composite_map  Probe_Sequence
ILMN_1380403    005860278   negative    permuted_negative       GCGTATTGGCTGCTGGTCTTGACCAGTGCCGGAATTCCGCTCTGATATAG
ILMN_1379274    000610201   negative    permuted_negative       TGAATGAGAACTCTTGGCCCCGGCTCCTTTCACAAAGACGGTTAGCTTGG
ILMN_1379161    004670735   negative    permuted_negative       GGAGGCATGCCACCTCTTCCTACGAACAAGTCAGGAAACGGTTCGAAGCC
ILMN_1379177    003400438   negative    permuted_negative       TTCCAATTGGCACCAAGTCATACTCCCAGTCACAGGCTAGATCTCCCGAC
ILMN_1379049    000730154   negative    permuted_negative       GGAGGCTTTCCTGCTGTGCAGGCTGTTATCAAGGGATGCTGTATCTCGGG

以及另一部分:

[Columns]
Name    Level   Visible
Species all 
Source  all 
Search_Key  all 
Transcript  probe   
ILMN_Gene   all 
Source_Reference_ID probe   
RefSeq_ID   probe   
Unigene_ID  all 
Entrez_Gene_ID  all 
GI  probe   
Accession   probe   
Symbol  all 
Protein_Product probe   
Probe_Id    probe   
Array_Address_Id    probe   
Probe_Type  probe   
Probe_Start probe   
Probe_Sequence  probe   
Chromosome  all 
Probe_Chr_Orientation   all 
Probe_Coordinates   probe   
Definition  all 
Ontology_Component  all 
Ontology_Process    all 
Ontology_Function   all 
Synonyms    all

即使Probes部分看起来格式不正确 - 如果文本未被引用,那么如果它们包含分隔符,则会有大量文本可能会导致问题。

如果您只需将Probes部分提取到文件"filename.txt"

即可
read.table("filename.txt", sep = "\t")

看起来它可能会读取该文件,因为该部分至少是制表符分隔的。