2017-03-29 78 views
0

我有一個超過100萬行的大數據集。我只想讀取一部分數據對應於某個特定級別的一個因子,例如column1 == A.如何使用read.csv在R中完成此操作?閱讀大數據子集

謝謝

+0

如果您知道它們在哪裏(並且它們在一起),則可以使用'read.csv'的'skip'和'nrows'參數。如果你不知道,那麼'grep'可能是有序的。 – alistaire

+1

如果你真的想把它全部保存在R中,可以很容易地以批處理的方式讀取文件(有多少實際取決於可用的內存),使用'lapply',按照你需要的進行子集分類,事實之後的很多。儘管如此,您可能希望使用'data.table :: fread'或'readr :: read_csv'來實現速度,但它仍然不是最快的方法,因爲它會執行大量的過度處理。儘管如此,稍微優化它並不會那麼困難。 – alistaire

回答

0

可以使用read.csv不過濾行。您可以嘗試sqldf::read.csv.sql,如答案to this question中所述。

但我想大多數人會先使用其他工具處理文件。例如,csvkit允許按行進行過濾。