Ошибка read.csv.fdff: невозможно выделить вектор размером 6607642,0 Гб

Мне нужно прочитать файл csv размером 4,5 ГБ в RStudio, и для преодоления проблемы с памятью я использую функцию read.ffdf из пакета ff. Тем не менее, я все еще получаю сообщение об ошибке, что данные слишком велики

Ошибка: невозможно выделить вектор размером 6607642,0 Гб

и я не могу понять, почему. Я был бы очень признателен за любую помощь!

options(fftempdir="C:/Users/Documents/")

CRSPDailyff <- read.csv.ffdf(file="CRSP_Daily_Stock_Returns_1995-2015.csv")

person JL1118    schedule 05.05.2019    source источник
comment
Без воспроизводимого примера вам трудно помочь. Во всяком случае, попробуйте использовать: fread() из пакета data.table. Это даст вам объект класса data.table, который очень похож на data.frame, хотя иногда и причудливый. Вы можете легко преобразовать его в знакомый вам data.frame, используя as.data.frame(x) или используя data.table=FALSE в аргументе fread(). В качестве альтернативы я предлагаю вам этот пост: rstudio-pubs-static.s3.amazonaws. ком/   -  person Scipione Sarlo    schedule 05.05.2019
comment
Вы пытались загрузить данные, используя небольшие фрагменты и используя rbind для объединения каждого из них?   -  person Jandisson    schedule 05.05.2019
comment
Может быть, вы могли бы попробовать data.table пакет   -  person zhaoxg    schedule 05.05.2019
comment
Попробуйте новый пакет vroom, который вчера появился на CRAN.   -  person G. Grothendieck    schedule 05.05.2019


Ответы (1)


Я подозреваю, что вы могли бы преодолеть это ограничение, используя аргумент next.rows.

Пожалуйста, попробуй:

options(fftempdir="C:/Users/Documents/")

CRSPDailyff <- 
read.csv.ffdf(file="CRSP_Daily_Stock_Returns_1995-2015.csv", next.rows = 100000)

Поэкспериментируйте с другими значениями для next.rows, я лично использую 500000 на машине с 4 ГБ здесь, в кампусе.

Совет от других комментаторов по использованию

person MAIAkoVSky    schedule 04.07.2019