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?