Подключение GNU R к PostgreSQL - PullRequest
8 голосов
/ 11 сентября 2009

У меня установлено GNU R (пакет статистики S-like; версия 2.8.1) и PostgreSQL (8.4.1), но я не могу подключить GNU R к своему RDBMS.

Когда я впервые сделал это (несколько лет назад - код потерян) DBI для R не существовало. Теперь это так. Я также не понимаю, какой пакет R использовать. Быстрый поиск возвращает:

  • RPostgreSQL представляется самым современным
  • RPgSQL Выглядит заброшенным. Я хотел бы, чтобы они разместили дату на своей веб-странице. ; - (

Мой Linux distribution не упаковывает R пакеты (ирония), но мне удобно работать R CMD INSTALL package.tar.gz.

Я установил RPostgreSQL: во многих документах написано, что нужно звонить dbConnect, но я получаю следующее сообщение об ошибке: Error: object "dbConnect" not found.

Ответы [ 4 ]

9 голосов
/ 11 сентября 2009

Просто для полноты у вас есть еще два варианта

  • RODBC , который является очень зрелым и полным функций, но не соответствует структуре DBI, как интерфейсы PostgreSQL, MySQL, SQLite, Oracle, .... Вы также должны возиться с установочными файлами ODBC, которые могут быть хитрыми. Но ODBC может быть полезен и для других целей доступа к данным.
  • RdbiPgSQL из проекта BioConductor, который также является зрелым, но использует еще один протокол, который должен был конкурировать с DBI и никогда не использовался. Этот пакет PostgreSQL очень полезен.

Но как RPostgreSQL сопровождающий / соавтор, я рад, что вы нашли это. Как и предполагал другой участник, попробуйте library(RPostgreSQL) перед выдачей команд. Если у вас возникнут другие проблемы, не стесняйтесь, напишите мне по электронной почте с SO сообщением об ошибке.

Редактировать : есть еще один вариант встраивания R в PostgreSQL с использованием PL / R .

Джо Конвея
3 голосов
/ 11 сентября 2009

Может быть, вам нужно запустить require(RPostgreSQL), прежде чем использовать dbConnect?

1 голос
/ 14 сентября 2009

Полагаю, вам нужно установить пакет DBI (большинство пакетов баз данных зависят от него).

Если вы используете install.packages('RPpostgreSQL',dep=TRUE) изнутри R, он должен позаботиться о любых проблемах с зависимостями.

0 голосов
/ 13 сентября 2009

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

Кроме того, да, похоже, вы не загрузили пакет RPostgresSQL.

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