Только для чтения строки большого файла с именами строк, указанными в векторе - R - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь выполнить довольно простую задачу в R - из большого файла .tsv (4 ГБ), который я не смог прочитать в память, я хотел бы читать только строки с именами строк, определенными в списке.Имена строк определены в первом столбце большого файла с именем «PMID», и у меня есть список PMID, которые я хотел бы извлечь из большого файла.

Я довольно новичок в R, и, хотя я могу использовать функцию match или% in% для загруженного файла в RI, я не могу сделать то же самое, читая файл .tsv.Я использовал read.table для загрузки большого файла, но получил ошибку «невозможно выделить вектор размером 250,0 Мб».

Большой файл .tsv имеет следующую структуру:

"PMID"  "au_order"  "lastname"  "firstname" "year"  "journal    type"   "city"  "state" "country"   "lat"   "lon"   "fips"
26151967    1   Lau Ying    2016    J Hum Lact  EDU Queenstown, Singapore   -   Singapore   1.299   103.787 NULL
26151969    2   Htun    Tha Pyai    2016    J Hum Lact  EDU Queenstown, Singapore   -   Singapore   1.299   103.787 NULL
26151965    3   Lim Peng Im 2016    J Hum Lact  EDU-HOS Queenstown, Singapore   -   Singapore   1.299   103.787 NULL

My_vector = c("26151969","26151965")

Вывод:

"PMID"  "au_order"  "lastname"  "firstname" "year"  "journal type" "city"   "state" "country"   "lat"   "lon"   "fips"
26151969    2   Htun    Tha Pyai    2016    J Hum Lact  EDU Queenstown, Singapore   -   Singapore   1.299   103.787 NULL
26151965    3   Lim Peng Im 2016    J Hum Lact  EDU-HOS Queenstown, Singapore   -   Singapore   1.299   103.787 NULL

Я был бы очень благодарен за любую помощь, и я прошу прощения, если это дубликат, но даже после долгих поисков я не смог найти никакого ответа, который бы я понял до сих пор.

...