Ho due frame di dati df1
e df2
che ognuno ha circa 10 milioni di righe e 4 colonne. Li ho letti in R usando RODBC/sqlQuery senza problemi, ma quando provo a rbind
, ottengo il più temuto dei messaggi di errore R: cannot allocate memory
. Ci sono modi più efficienti per fare un rbind
in modo più efficiente - qualcuno ha i suoi trucchi preferiti su questo che vuole condividere? Per esempio ho trovato questo esempio nel documento per sqldf
:R: come rbindare due enormi frame di dati senza esaurire la memoria
# rbind
a7r <- rbind(a5r, a6r)
a7s <- sqldf("select * from a5s union all select * from a6s")
è che il modo migliore/consigliato di farlo?
UPDATE ho preso a lavorare utilizzando il dbname = tempfile()
argomento cruciale nella chiamata sqldf
sopra, come suggerisce JD a lungo nella sua risposta a this question
Hai provato a pre-allocare? – aL3xa
Buona idea: come si fa? Significa usare qualcosa come "memory.limit (size = 4000)'? –
No. BTW, funziona solo su Windows. Vedi la mia risposta qui sotto. – aL3xa