У меня есть два кадра данных df1
и df2
, каждый из которых имеет около 10 миллионов строк и 4 столбца. Я читал их в R, используя RODBC/sqlQuery, без проблем, но когда я пытаюсь сделать это rbind
, я получаю, что больше всего боюсь сообщений об ошибках R: cannot allocate memory
. Там должны быть более эффективные способы сделать rbind
более эффективно - у кого есть свои любимые трюки по этому поводу, которые они хотят поделиться? Например, я нашел этот пример в док для sqldf
:R: как преобразовать две огромные кадры данных без исчерпания памяти
# rbind
a7r <- rbind(a5r, a6r)
a7s <- sqldf("select * from a5s union all select * from a6s")
Это лучший/рекомендуемый способ сделать это?
UPDATE Я получил его на работу, используя решающий dbname = tempfile()
аргумент в sqldf
вызова выше, как говорит JD Long в своем ответе на this question
Вы пытались предварительно выделить? – aL3xa
Хорошая идея - как мне это сделать - вы имеете в виду использование чего-то типа 'memory.limit (size = 4000)'? –
№ BTW, который работает только в Windows. См. Мой ответ ниже. – aL3xa