Как мне отфильтровать файл .csv перед чтением - PullRequest
0 голосов
/ 09 октября 2019

Я хочу работать с отфильтрованным подмножеством моего набора данных.

Пример: healthstats.csv

    age   weight   height   gender
A    25      150      65      female
B    24      175      78      male
C    26      130      72      male
D    32      200      69      female
E    28      156      66      male
F    40      112      78      female

Я бы начал с

patients = read.csv("healthstats.csv")

, но какчтобы я только импортировал подмножество

patients$gender == "female" 

, когда я запускаю

patients = read.csv("healthstats.csv")

1 Ответ

3 голосов
/ 09 октября 2019

Если вы хотите импортировать только подмножество строк без их чтения, вы можете использовать sqldf, который принимает запрос для фильтрации данных.

library(sqldf)
read.csv.sql("healthstats.csv", sql = "select * from file where gender == 'female'")

Мы также можем использовать read_csv_chunked изreadr

readr::read_csv_chunked('healthstats.csv', 
  callback = DataFrameCallback$new(function(x, pos) subset(x, gender == "female")))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...