【发布时间】:2014-10-12 05:29:58
【问题描述】:
我想在R 中使用read.csv 读取一个大文件。现在获取与某些模式匹配的行的一种方法是首先获取data-frame 中的所有行,然后仅过滤所需的行。这种方法的问题是文件太大,在某些机器上,所有数据可能无法放入内存中。那么有什么方法可以使用grep 或类似的东西以及read.csv 来只获取几行感兴趣的行吗?
【问题讨论】:
-
您可以在外壳/终端中使用
grep(或awk)过滤掉某些行,发送到一个新文件,然后将该文件读入R。否则您可以读取数据in by chunks 然后过滤块 -
感谢您的帮助@RichardScriven。我正在寻找
R中是否有任何可用的东西,可以使用read.csv和regex或类似的东西。 -
您可以使用来自
data.table的带有fread的shell 命令。参见例如以stackoverflow.com/questions/22229109/… 为例。