2009-09-11 2 views
8

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

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

  • RPostgreSQL кажется наиболее уточненный
  • RPgSQL Видать отказались. Хотелось бы, чтобы они разместили дату на своей веб-странице. . ;-(

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

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

+2

«Ты моя единственная надежда» - это нонсенс. Для R и баз данных имеется специальный список рассылки r-sig-db. –

+7

Не волнуйся, Дирк, я думаю, что это просто безобидная ссылка «Звездных войн». –

ответ

3

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

9

Просто для полноты картины, у? НУ есть еще два варианта

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

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

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

0

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

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

1

Я предполагаю, что вам необходимо установить пакет DBI (от этого зависит большинство пакетов баз данных).

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