Рекомендации для базы данных с R - PullRequest
12 голосов
/ 16 июля 2010

Я использую R для запуска моделирования с использованием данных временных рядов. Я использовал массивы для хранения данных, но мне нужно менее ресурсоемкое решение для хранения данных на промежуточных этапах, чтобы документировать процесс. Я не программист, поэтому я ищу что-то относительно простое для установки на нескольких платформах, если это возможно (Windows, Mac, Linux). Мне также нужно иметь возможность напрямую вызывать базу данных из R, поскольку изучение другого языка сейчас невозможно. В идеале я хотел бы иметь возможность часто читать и писать в базу данных способом, аналогичным массиву, хотя я не знаю, реалистично ли это. Я с удовольствием пожертвую скоростью для простоты использования, но я готов работать, чтобы изучить решения с открытым исходным кодом. Любые предложения будут оценены.

Ответы [ 4 ]

15 голосов
/ 18 июля 2010

Быстрые комментарии:

3 голосов
/ 18 июля 2010

Мне также нужно иметь возможность напрямую вызывать базу данных из 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:

Доступно для всех платформ, которые вы указали в вопросе, и более того, скачайте здесь .

1 голос
/ 18 июля 2010

Вы также можете взглянуть на пакет ff .

1 голос
/ 18 июля 2010

Вам действительно нужно решение для базы данных для ваших целей? Вы говорите, что хотите «решение для хранения данных на промежуточных этапах» - как насчет простого сохранения массива данных на диск в нужные моменты времени?

Редактировать : чтобы получить информацию, вы можете встроить метаинформацию, например, пробный индекс и / или отметка времени в имени файла. Затем вы можете найти и загрузить файл, используя правильное имя файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...