Чтение CSV-файла с выбранными строками с использованием файла data.table - PullRequest
0 голосов
/ 02 июля 2019

Я проходил более раннюю публикацию -

Самый быстрый способ прочитать подмножество строк CSV

Один из способов выбора подмножества данных -

write.csv(iris,"iris.csv")

fread("shuf -n 5 iris.csv")

Однако мне было интересно, могу ли я передать какой-нибудь запрос SQL вместо 5 верхних строк, например, импортировать только те строки, которые имеют V6 = versicolor

Есть ли способ сделать это с помощью fread функция?

1 Ответ

1 голос
/ 02 июля 2019

Это работает для меня в Windows (альтернатива unix grep)

write.csv(iris,"iris.csv")

fread(cmd = paste('findstr', 'versicolor', 'iris.csv'))

    V1  V2  V3  V4  V5         V6
 1:  51 7.0 3.2 4.7 1.4 versicolor
 2:  52 6.4 3.2 4.5 1.5 versicolor
 3:  53 6.9 3.1 4.9 1.5 versicolor
 4:  54 5.5 2.3 4.0 1.3 versicolor
 5:  55 6.5 2.8 4.6 1.5 versicolor
 6:  56 5.7 2.8 4.5 1.3 versicolor
 7:  57 6.3 3.3 4.7 1.6 versicolor
 8:  58 4.9 2.4 3.3 1.0 versicolor
 9:  59 6.6 2.9 4.6 1.3 versicolor
10:  60 5.2 2.7 3.9 1.4 versicolor
11:  61 5.0 2.0 3.5 1.0 versicolor

Выводит только те строки, которые содержат "versicolor" в любом поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...