У меня очень большие таблицы (30 миллионов строк), которые я бы хотел загрузить в качестве кадровых фреймов в R. read.table()
имеет множество удобных функций, но похоже, что в реализации есть много логики, которая замедлить работу. В моем случае я предполагаю, что я знаю типы столбцов раньше времени, таблица не содержит заголовков столбцов или имен строк и не имеет никаких патологических символов, о которых мне нужно беспокоиться.
Я знаю, что чтение в таблице в виде списка с помощью scan()
может быть довольно быстрым, например:
datalist <- scan('myfile',sep='\t',list(url='',popularity=0,mintime=0,maxtime=0)))
Но некоторые из моих попыток преобразовать это в dataframe, похоже, уменьшают производительность выше в 6 раз:
df <- as.data.frame(scan('myfile',sep='\t',list(url='',popularity=0,mintime=0,maxtime=0))))
Есть ли лучший способ сделать это? Или, возможно, совсем другой подход к проблеме?