R 读取大数据子集

R 读取大数据子集,r,subset,R,Subset,我有一个超过1亿行的大型数据集。我只想读取与某个因子的某个特定级别对应的部分数据,比如column1==a。如何使用read.csv在R中实现这一点 谢谢您不能使用read.csv筛选行。您可以尝试sqldf::read.csv.sql,如答案中所述 但我认为大多数人会先用另一种工具处理文件。例如,允许按行进行筛选。如果知道参数在哪里(并且它们在一起),则可以使用read.csv的skip和nrows参数。如果您不知道,一些grep可能是正确的。如果您真的想把所有内容都保存在R中,那么可以很容易

我有一个超过1亿行的大型数据集。我只想读取与某个因子的某个特定级别对应的部分数据,比如column1==a。如何使用read.csv在R中实现这一点


谢谢

您不能使用
read.csv
筛选行。您可以尝试
sqldf::read.csv.sql
,如答案中所述


但我认为大多数人会先用另一种工具处理文件。例如,允许按行进行筛选。

如果知道参数在哪里(并且它们在一起),则可以使用
read.csv
skip
nrows
参数。如果您不知道,一些
grep
可能是正确的。如果您真的想把所有内容都保存在R中,那么可以很容易地将文件分成几行读取(实际的行数取决于可用的内存),使用
lappy
,将每一行划分为您所需的部分,并在事后组合这些行。您可能希望使用
data.table::fread
readr::read_csv
来提高速度,但它仍然不是最快的方法,因为它会进行大量多余的处理。不过,再优化一点也不难。