У меня есть некоторые R-скрипты, где мне нужно как можно быстрее загрузить несколько кадров данных в R. Это очень важно, так как чтение данных является самой медленной частью процедуры. Например: нанесение рисунков из разных фреймов данных. Я получаю данные в формате sav (SPSS), но я могу преобразовать его в любой формат, как было предложено. К сожалению, слияние данных не является вариантом.
Что может быть самым быстрым способом загрузки данных? Я думал о следующем:
- преобразуется из sav в двоичный объект R (Rdata) в первый раз, а позже всегда загружает это, поскольку это кажется намного быстрее, чем
read.spss
. - преобразуется из файлов sav в csv и считывает данные из данных с заданными параметрами, обсуждаемыми в этой теме,
- или стоит ли настраивать базу данных MySQL на localhost и загружать данные из этого? Это может быть быстрее? Если да, могу ли я сохранить любые пользовательские значения
attr
переменных (например, переменные .labels из импортированных файлов Spss)? Или это должно быть сделано в отдельной таблице?
Любые другие мысли приветствуются. Спасибо за каждое предложение заранее!
Я сделал небольшой эксперимент ниже на основе полученных вами ответов, а также добавил (24/01/2011) довольно "хакерское", но очень быстрое решение загружая только несколько переменных/столбцов из специального двоичного файла. Последний, кажется, самый быстрый метод, который я могу себе представить сейчас, поэтому я составил (05/03/2011: вер. 0.3) небольшой пакет с именем saves, чтобы справиться с этой функцией. Пакет находится под "тяжелой" разработкой, любые рекомендации приветствуются!
Я скоро опубликую виньетку с точными результатами тестов с помощью microbenchmark.