#r #csv #import #large-data
#r #csv #импорт #большие данные
Вопрос:
Я прочитал много сообщений в stackoverflow о чтении больших файлов в R. Мои данные составляют около 2,5 ГБ с ~ 30 000 000 строк и ~ 15 столбцов. Я попробовал метод sqldf, который взят из другого сообщения,
library(sqldf)
f <- file("~/Downloads/data.csv")
system.time(bigdf <- sqldf("select * from f", dbname = tempfile(), file.format = list(header = T, row.names = F)))
который вернул ошибку, указывающую, что
"RS-DBI driver: (RS_sqlite_import: /Users/data.csv line 14691020 expected 13 columns of data but found 1)"
У кого-нибудь есть другие хорошие методы?
Обновление: я только что попробовал пакет ff, который все еще не работал.
library(ff)
system.time(read.csv.ffdf(file="~/Downloads/data.csv", header=TRUE, sep=','))
он также вернул ошибку,
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
scan() expected 'an integer', got '"18749362"'
Решение:
Я пробовал ff, fread, sqldf, colClass, все эти методы не работают. Таким образом, я нахожу онлайн-приложение для разделения файлов, которое легко решает мою проблему. Спасибо всем, что ответили на мой вопрос!
Этот вопрос закрыт.
Комментарии:
1. Взгляните на
ff
package, например.2. Я попробовал ff, и это тоже не сработало.
3. Убедитесь, что вы используете последнюю исправленную версию R, и при необходимости исправьте свои данные.
4. Проблема, как следует из сообщения об ошибке, заключается в том, что в вашем формате данных есть нарушения, которые необходимо исправить или скорректировать.
5. Я думаю, вам следует избегать Microsoft Office при работе с большим количеством данных (или любым объемом данных в целом). например, новейший Excel, IIRC, может обрабатывать только миллион строк