Рекомендации для базы данных с R

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

12
задан Dirk Eddelbuettel 18 July 2010 в 13:31
поделиться

4 ответа

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

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

3
ответ дан 2 December 2019 в 18:17
поделиться

Вы также можете ознакомиться с пакетом ff .

1
ответ дан 2 December 2019 в 18:17
поделиться

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

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

1
ответ дан 2 December 2019 в 18:17
поделиться

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

  • R хорош в этом, поскольку язык для программирования с данными , существует множество интерфейсов
  • Существует целый ] руководство , посвященное импорту / экспорту данных, и в нем есть раздел , посвященный реляционным базам данных , так что начните с него.
  • R имеет широко используемый пакет DBI , который обеспечивает унифицированный интерфейс для многих серверных программ, в том числе SQLite, MySQL, PostgreSQL, Oracle, ... Используйте это, возможно, с RSQLite ], чтобы быстро что-то сдвинуть с мертвой точки. Вы все еще можете переключить серверную часть после этого.
  • Существует также RODBC , но я считаю ODBC утомительным для работы.
  • R также имеет специальный вариант в пакете TSdbi Пола Гилберта, который привносит абстракцию, подобную DBI, в базы данных таймсерий. Он также поддерживает несколько бэкэндов.
  • Пакет data.table был написан для этого и очень быстро выполняет индексацию и агрегирование.
15
ответ дан 2 December 2019 в 18:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: