我有6个60gb(未压缩)的大型tsv矩阵,包含2000万行x501列:第一个索引/整数列基本上是行号(所以甚至不需要),500列是数字(浮点数,4位小数,例如1.0301)。所有tsv具有相同的行数,彼此对应。
我需要在行号上提取行。
我需要提取多达5,000个连续行或最多500个非连续行;所以不是数百万。希望,也有一些压缩,以减少60GB的大小,所以可能没有SQL?最好的方法是什么?
非常感谢。
我将使用来自fread()
包的data.table
使用参数skip
和nrows
你可以使用起始行来读取(skip
)或要读取的行数(nrows
)
如果你想探索tidyverse
方法,我推荐你这个解决方案R: Read in random rows from file using fread or equivalent?