Я использую R для запуска моделирования с использованием данных временных рядов. Я использую массивы для хранения данных, но для хранения данных на промежуточных этапах требуется меньше памяти, чтобы документировать процесс. Я не программист, поэтому я ищу что-то относительно легко настраиваемое на нескольких платформах, если это возможно (Windows, Mac, Linux). Мне также нужно иметь возможность напрямую обращаться к базе данных из R, так как изучение другого языка сейчас невозможно. В идеале, я хотел бы иметь возможность читать и писать часто в базу данных способом, подобным массиву, хотя я не знаю, насколько это реально. Я с радостью пожертвую скоростью для удобства использования, но я готов работать над изучением решений с открытым исходным кодом. Любые предложения будут оценены.
Рекомендации для базы данных с R
Ответ 1
Мне также нужно иметь возможность напрямую вызовите базу данных из R
Я предлагаю настроить MySQL с помощью интерфейса RMySQL.
Как только соединение с БД открыто, вы можете запросить базу данных и получить данные в R, например:
# Run an SQL statement by creating first a resultSet object
rs <- dbSendQuery(con, statement = paste(
"SELECT w.laser_id, w.wavelength, p.cut_off",
"FROM WL w, PURGE P",
"WHERE w.laser_id = p.laser_id",
"SORT BY w.laser_id")
# we now fetch records from the resultSet into a data.frame
data <- fetch(rs, n = -1) # extract all rows
RMySQL: интерфейс R для базы данных MySQL
Интерфейс базы данных и драйвер MySQL для R. Эта версия соответствует определение интерфейса базы данных как реализован в пакете DBI 0.2-2.
База данных MySQL:
Доступно для всех платформ, которые вы указали в вопросе, и многое другое, загрузите здесь.
Ответ 2
Комментарии:
- R хорош в этом, как язык программирования с данными, есть много интерфейсов
- Существует целый manual, посвященный импорту/экспорту данных, и он имеет в реляционных базах данных, поэтому начните там.
- R имеет широко используемый пакет DBI, который обеспечивает унифицированный интерфейс для многих бэкэндмов, в том числе SQLite, MySQL, PostgreSQL, Oracle,... Используйте это, возможно, с RSQLite, чтобы быстро что-то ускорить. После этого вы можете снова переключать серверы.
- Существует также RODBC, но я считаю ODBC утомительным для работы.
- R также имеет специализированный вариант в пакете TSdbi Пола Гилберта, который привносит абстракцию DBI в базы данных временных рядов. Он также поддерживает несколько бэкэндов.
- Пакет data.table был написан для этого и очень быстро работает с индексацией и агрегацией.
Ответ 3
Вам действительно нужно решение для базы данных для вашей цели? Вы говорите, что хотите "решение для хранения данных на промежуточных этапах" - как просто сохранить массив данных на диск в требуемые моменты времени?
Изменить: чтобы можно было получить информацию, вы можете вставлять метаинформацию, например. пробный индекс и/или временную метку в имени файла. Затем вы можете найти и загрузить файл, используя правильное имя файла.
Ответ 4
Вы также можете посмотреть ff пакет.