2013-01-02 18 views
17

sto usando la nuova funzione di data.table:::fread (funzione più veloce leggere che ho usato in R finora) e ho ottenuto il seguente (autoesplicativo) eccezione:data.table funzione fread

R) fread(path) 
Erreur dans fread(path) : Coercing integer64 to real needs to be implemented 

Il mio file (che è un csv separato da tabulazioni) contiene infatti interi grandi come 902160000671352000. La mia domanda è, posso dire a fread a # NOT # leggere le seconde colonne (dove sono quei mostri int)

+1

potrebbe essere più facile dire a 'fread' leggere in quelle colonne come caratteri o fattori. Poi hai i dati e puoi sempre fare una conversione di tipo in seguito. –

+0

La mia soluzione al momento è quella di utilizzare il comando unix "cut -f1,3- myFile.txt' e di eseguire fread in seguito ... – statquant

+0

' help (fread) 'afferma che anche i tipi' bit64 :: integer64 sono rilevati e leggi direttamente senza bisogno di leggere come carattere, quindi converti' Sto usando un sistema operativo a 32 bit (XP). È un problema ? posso convertire questi int64 in un char? – statquant

risposta

11

Buona domanda. Non ancora, ma sì, lo sarai. D'accordo con tutti i commenti.

L'elenco TO DO si trova nella parte superiore di readfile.c source. Se manca qualcosa, fammi sapere. Tale elenco copre l'autorizzazione a escludere il tipo, implementando le coercizioni non applicate e consentendo di ignorare le colonne. Speriamo che tutto sia pronto per la prima versione in 1.9.0.

fread è attualmente in v1.8.7, che è in fase di sviluppo su R-Forge. Al termine verrà rilasciato come 1.9.0 in CRAN. Il .0 indica che le nuove funzionalità potrebbero cambiare il nome e il comportamento degli argomenti; Ad esempio, non sorprendetevi se le modifiche incompatibili all'indietro sono apportate a fread nella 1.9.1. Data la sua natura, è difficile immaginare che qualcosa di importante cambierà, comunque. Ma è per questo che ho reso pubblica la sua disponibilità su R-Forge, per farlo presto e ottenere cose del genere giusto.

Problemi correlati