Sto osservando una velocità incoerente di dati.bile di funzione fread. Devo 2 file di ~ 8 GB. Il contenuto dei file è (quasi) lo stesso. Il tempo di leggere due file è stranamente diverso.R pread dati.table velocità incoerente
control.major <- fread("control.major.gff")$V6
Read 19.8% of 98100000 rows
Read 98100000 rows and 10 (of 10) columns from 7.947 GB file in 02:06:58
control.minor <- fread("control.minor.gff")$V6
Read 98100000 rows and 10 (of 10) columns from 7.947 GB file in 00:03:15
Devo leggere la sesta colonna dei file che sono tutti numerici. Inizialmente ho scoperto che fread è stato più veloce rispetto alla
scan(pipe("cut -f6 SNP.major.gff"), sep="\n")
Perché funzione di taglio stava prendendo sacco di tempo.
Perché c'è un comportamento incoerente di fread? C'è un modo più veloce per leggere una colonna?
Sto indovinando che il secondo comando è lento a causa di 'scan' e non a causa di' cut', quindi proverei 'fread ('cut -f6 SNP.major.gff')' invece – eddi
btw che prima il tempo sembra pazzo lungo - 2 ore ?! - forse puoi isolare di più il problema e provare a vedere se ottieni tempi lunghi con una porzione minuscola di quel file. – eddi
@eddi Non penso che fread e scan facciano differenza rispetto al tempo di esecuzione. Il suo taglio è molto più lento. – vinash85