read.table 忽略 table 中的一些 \t 和 \n
read.table ignores some \t and \n in a table
我在读取 RNAseq 实验的注释文件时遇到了一个奇怪的问题。
我正在尝试读取制表符分隔的文件 (http://we.tl/qCjv4N3LF2),然后在注释(第四列)中搜索模式 "bahd",以查找类似 [=28] 的条目=] 然后显示属于这些条目的所有 ID(第一列)。代码是:
ShootAnnot<-read.table("annotation1.txt",sep="\t")
matches<-grep("bahd",ShootAnnot[,4],ignore.case=TRUE)
ShootAnnot[matches,1]
奇怪的是,我注意到这并没有找到我知道的所有基因注释——文件中 12 个中只有 9 个匹配。当我扫描 table 以查找丢失的条目时,我发现文件中的一行似乎 R 未能解释分隔模式“\t”和“\n”。
查看数据集中的第4825行:
ShootAnnot[4825,]
出于某种原因,该行中的第六个单元格包含大量数据,其中有许多完整的行以及适当的“\t”和“\n”单元格和行分隔模式都在一个单元格中。然后它突然跳回到正确分离细胞和细胞系。
我有一堆这样的文件,所以我想确保我可以自动解决任何类似的问题。知道是什么原因造成的吗?
谢谢!
我不确定它为什么会乱七八糟(可能是 DOS CR/LF 的事情),但是文件很大,如果你把它插入 data.table
你会得到相当不错的加速仅通过读取数据。
library(data.table)
ShootAnnot <- fread("~/Downloads/annotation1.txt")
ShootAnnot[like(Blast2GO_GO_Description,"bahd"), "#ID", with=FALSE]
这会给你
#ID
1: c112902_g1_i1_m.105401
2: c11459_g1_i1_m.4290
3: c11459_g2_i1_m.4292
4: c186946_g1_i1_m.110882
5: c24956_g1_i1_m.8768
6: c265515_g1_i1_m.117383
7: c28096_g1_i1_m.10253
8: c37936_g1_i1_m.14867
9: c40683_g1_i1_m.17292
10: c54651_g1_i1_m.34709
11: c54651_g2_i1_m.34711
12: c921_g1_i1_m.351
(您的文件中没有任何非小写的 "bahd")
我在读取 RNAseq 实验的注释文件时遇到了一个奇怪的问题。
我正在尝试读取制表符分隔的文件 (http://we.tl/qCjv4N3LF2),然后在注释(第四列)中搜索模式 "bahd",以查找类似 [=28] 的条目=] 然后显示属于这些条目的所有 ID(第一列)。代码是:
ShootAnnot<-read.table("annotation1.txt",sep="\t")
matches<-grep("bahd",ShootAnnot[,4],ignore.case=TRUE)
ShootAnnot[matches,1]
奇怪的是,我注意到这并没有找到我知道的所有基因注释——文件中 12 个中只有 9 个匹配。当我扫描 table 以查找丢失的条目时,我发现文件中的一行似乎 R 未能解释分隔模式“\t”和“\n”。
查看数据集中的第4825行:
ShootAnnot[4825,]
出于某种原因,该行中的第六个单元格包含大量数据,其中有许多完整的行以及适当的“\t”和“\n”单元格和行分隔模式都在一个单元格中。然后它突然跳回到正确分离细胞和细胞系。 我有一堆这样的文件,所以我想确保我可以自动解决任何类似的问题。知道是什么原因造成的吗?
谢谢!
我不确定它为什么会乱七八糟(可能是 DOS CR/LF 的事情),但是文件很大,如果你把它插入 data.table
你会得到相当不错的加速仅通过读取数据。
library(data.table)
ShootAnnot <- fread("~/Downloads/annotation1.txt")
ShootAnnot[like(Blast2GO_GO_Description,"bahd"), "#ID", with=FALSE]
这会给你
#ID
1: c112902_g1_i1_m.105401
2: c11459_g1_i1_m.4290
3: c11459_g2_i1_m.4292
4: c186946_g1_i1_m.110882
5: c24956_g1_i1_m.8768
6: c265515_g1_i1_m.117383
7: c28096_g1_i1_m.10253
8: c37936_g1_i1_m.14867
9: c40683_g1_i1_m.17292
10: c54651_g1_i1_m.34709
11: c54651_g2_i1_m.34711
12: c921_g1_i1_m.351
(您的文件中没有任何非小写的 "bahd")