Sto usando fread in data.table (1.8.8, R 3.0.1) nel tentativo di leggere file molto grandi.errore di overflow stack protezione freading
Il file nelle domande ha 313 righe e ~ 6,6 milioni di colonne di righe di dati numerici e il file è di circa 12 GB. Questo è un Centos 6.4 con 512 GB di RAM.
Quando tento di leggere nel file:
g=fread('final.results',header=T,sep=' ')
'header' changed by user from 'auto' to TRUE
Error: protect(): protection stack overflow
ho provato a partire con R---max ppsize 500000, che è il massimo, ma lo stesso errore.
Ho anche provato a installare la dimensione dello stack per illimitate via
ulimit -s unlimited
La memoria virtuale è stato già impostato su illimitato.
Sono irrealistico con un file di queste dimensioni? Mi sono perso qualcosa di abbastanza ovvio?
Provare v1.8.9 su R-Forge (collegamento sulla homepage di data.table). Ci sono 10 correzioni di bug a 'fread' lì, vedi NEWS. Il supporto di file di grandi dimensioni è uno di questi, ma su Windows come già dovrebbe essere ok su Linux. 6,6 milioni di colonne (!) Sono nuove e potrebbero essere un nuovo bug. Si prega di confermare con v1.8.9 e andremo da lì ... –
@MatthewDowle Sì, non sono contento neanche con 6 milioni di righe. Installa 1.8.9, stesso errore. Ho creato un file molto più piccolo, 10 righe x 50K colonne, lo stesso errore. 10 righe x 49,999 cols funziona. – mpmorley
Intendevi colonne in quel commento (hai scritto 6 milioni di righe)? Molto interessante e strano non riesce esattamente a 50.000 colonne. Ben fatto per affinare così rapidamente. Non ricordo alcun limite di colonne del genere. Dare un'occhiata. –