Обработка данных кусками - PullRequest
3 голосов
/ 18 сентября 2011

У меня есть набор данных "X", содержащий около 8 миллионов наблюдений и переменные из 5 символов - назовите их A, B, C, D и E. Я пытаюсь вычислить статистику jaro-winkler между D и E с помощью RecordLinkage пакет:

library(RecordLinkage)
X$jw = jarowinkler(X$D, X$E)

Проблема в том, что все больше и больше памяти используется, пока компьютер просто не зависает. Есть ли способ автоматически выполнять обработку в «кусках», без необходимости предварительно вручную разбивать X на достаточно малые размеры и работать с отдельными подмножествами?

Другими словами, есть ли какая-нибудь встроенная функция, которая выполняет разбиение и обработку без необходимости делать это заранее?

1 Ответ

0 голосов
/ 18 сентября 2011

Ну, возможно, самым простым решением было бы использование аргумента nrows для read.table (или CSV или что-то еще). Установите nrows на небольшое значение, а затем переберите сегменты, удаляя ненужные объекты и вызывая gc() по ходу.

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