readr包中的read_lines_chunked给出了奇怪的输出

时间:2017-01-20 10:42:56

标签: r fasta readr

我想使用readr包来读取大型fasta文件并计算条目。该文件有多行,每个条目以>开头。一般来说,我对其他数据不感兴趣,我只想计算以>开头的行。

我认为最有效的方法是使用read_lines_chunked包中的readr,但结果有点奇怪。

s <- '>a\nb\nc\n>d\ne\n>f\ng\n>h\ni\nj\n>k\nl'
f <- function(x, pos) x[grepl('^>', x)]
jnk <- readr::read_lines_chunked(s, readr::DataFrameCallback$new(f), chunk_size=5)

结果不是像我预期的那样的单行向量,而是矩阵,甚至有奇怪的结果,因为它列举了例如>k两次:

     [,1] [,2]
[1,] ">a" ">d"
[2,] ">f" ">h"
[3,] ">k" ">k"

有人可以帮我这个或建议一个更好的方法来计算以大>开头的行,而不将所有内容都加载到内存中......

0 个答案:

没有答案