Szybki odczyt bardzo dużych tabel jako ramek danych

Mam bardzo duże tabele (30 milionów wierszy), które chciałbym załadować jako ramki danych w R.read.table() ma wiele wygodnych funkcji, ale wydaje się, że implementacja znacznie spowalnia działanie. W moim przypadku zakładam, że znam typy kolumn przed czasem, tabela nie zawiera żadnych nagłówków kolumn ani nazw wierszy i nie ma żadnych patologicznych znaków, o które muszę się martwić.

Znam ten odczyt w tabeli jako listę za pomocąscan() może być dość szybki, np .:

datalist <- scan('myfile',sep='\t',list(url='',popularity=0,mintime=0,maxtime=0)))

Jednak niektóre z moich prób przekonwertowania tego na ramkę danych wydają się zmniejszać wydajność powyższego współczynnika 6:

df <- as.data.frame(scan('myfile',sep='\t',list(url='',popularity=0,mintime=0,maxtime=0))))

Czy jest na to lepszy sposób? A może całkiem inne podejście do problemu?

questionAnswers(8)

yourAnswerToTheQuestion