read.delim()获取多行0列

时间:2015-07-07 07:20:13

标签: r

我正在尝试使用read.delim()使用此命令

来阅读此表
                          son_1   son_2   son_3   lgr_7   lgr_8   lgr_9
LOC_Os08g25350.1:exon_4       0       0       0       0       0       0
LOC_Os12g06130.1:exon_1       0       0       0       0       0       0
LOC_Os08g25350.1:exon_5       0       0       0       0       0       0
LOC_Os05g51110.1:exon_10     13      24      21     199       7      68
LOC_Os12g06130.1:exon_2       0       0       0       0       0       0
LOC_Os08g25350.1:exon_6       0       0       0       0       0       0
LOC_Os05g51110.1:exon_11     30      59      38     137      15     134

代码:

dim(countTable)
# [1] 312500      0
countTable <- read.delim("htseqCountTable.txt", sep="\t", row.names=1, col.names=1)
dim(countTable)
# [1] 312500      0
countTable <- read.table("htseqCountTable.txt", sep="\t", row.names=1)
dim(countTable)
# [1] 312501      0
countTable <-read.delim("htseqCountTable.txt", sep="\t")
dim(countTable)
# [1] 312500      1

有了这个输出,我不知道为什么我会得到空白列(0)和多行?

2 个答案:

答案 0 :(得分:1)

使用sep = ""代替sep = "/t"

row.names = 1对我来说没有意义。读取时获取单个列的原因是因为您的数据不是以制表符分隔的。

  

<强> row.names
  行名称向量。这可以是给出的向量   实际的行名,或给出表的列的单个数字   其中包含行名称或名称为的字符串   包含行名称的表列。

     

如果有标题,第一行包含的字段少于   列数,输入中的第一列用于   行名称。否则,如果缺少row.names,则对行进行编号。

     

使用row.names = NULL强制进行行编号。缺少或NULL row.names   生成被认为是“自动”的行名(而不是   由as.matrix保存。

     

<强> col.names
  变量的可选名称向量。默认   是使用&#34; V&#34;然后是列号。

答案 1 :(得分:0)

@Mr。奥姆利

  

countTable&lt; -read.delim(&#34; htseqCountTable.txt&#34;,sep =&#34;&#34;)   昏暗(countTable)   [1] 312500 2

之前这是sep=""

的结果
        X.                                  son_1.son_2.son_3.lgr_7.lgr_8.lgr_9
    1   LOC_Os08g25350.1:exon_4,0,0,0,0,0,0 NA
    2   LOC_Os12g06130.1:exon_1,0,0,0,0,0,0 NA
    3   LOC_Os08g25350.1:exon_5,0,0,0,0,0,0 NA
    4   LOC_Os05g51110.1:exon_10,13,24,21,199,7,68  NA
    5   LOC_Os12g06130.1:exon_2,0,0,0,0,0,0 NA
    6   LOC_Os08g25350.1:exon_6,0,0,0,0,0,0 NA
    7   LOC_Os05g51110.1:exon_11,30,59,38,137,15,134    NA
    8   LOC_Os12g06130.1:exon_3,167,128,213,605,293,484 NA

但是当我改变sep =&#34;&#34; to sep =&#34;,&#34;

   > countTable <-read.delim("htseqCountTable.txt",  sep=",")
   > dim(countTable)
    [1] 312500      7

我得到了结果,因为我想要感谢你的建议