2009-09-11 7 views
8

J'ai GNU R installé (le paquet de statistiques S-like, la version 2.8.1) et PostgreSQL (8.4.1), mais je ne peux pas connecter GNU R à mon RDBMS.Connexion GNU R à PostgreSQL

Lorsque je l'ai fait pour la première fois (il y a des années - code perdu) DBI pour R n'existait pas. Maintenant c'est le cas. Je suis également confus quant à quel paquet R à utiliser. Un rendement de recherche rapide:

  • RPostgreSQL semble être le plus à jour
  • RPgSQL abandonnée. On dirait Je souhaite qu'ils mettent une date sur leur page Web. . ;-(

Mon Linux distribution ne est pas autorisée R paquets (ironie) mais je suis à l'aise en cours d'exécution R CMD INSTALL package.tar.gz

J'ai installé RPostgreSQL: beaucoup de documentation dit d'appeler dbConnect mais je reçois le message d'erreur suivant :. Error: object "dbConnect" not found

+2

"Vous êtes mon seul espoir" est un non-sens. Il y a une liste de diffusion dédiée appelée r-sig-db pour R et les bases de données. –

+7

Ne t'inquiète pas Dirk, je pense que c'est juste une référence "Star Wars" inoffensive. –

Répondre

3

peut-être que vous devez exécuter require(RPostgreSQL) avant de pouvoir utiliser dbConnect

9

Juste pour être complet, y? ous avez deux autres options

  • RODBC qui est très mature et fonctionnalités complet, mais ne correspond pas au cadre DBI comme PostgreSQL, MySQL, SQLite, Oracle, ... interfaces faire. Vous devez également manipuler les fichiers d'installation ODBC, ce qui peut être difficile. Mais ODBC peut être utile pour d'autres utilisations d'accès aux données.
  • RdbiPgSQL du projet BioConductor qui est également mature mais utilise encore un autre protocole qui devait concurrencer DBI et ne jamais en prendre. Ce paquetage PostgreSQL est cependant riche en fonctionnalités.

Mais en tant que RPostgreSQL mainteneur/co-auteur Je suis heureux que vous ayez trouvé celui-ci. Comme le suggère l'autre affiche, essayez library(RPostgreSQL) avant d'émettre des commandes. Si vous rencontrez d'autres problèmes, n'hésitez pas à m'envoyer un e-mail avec un rapport de bug.

Édition: Il existe une autre option d'intégration de R dans PostgreSQL à l'aide de PL/R de Joe Conway.

0

RODBC fonctionne très bien pour moi. Vous n'avez qu'à configurer un nom de source de données (DSN) pour la base de données à laquelle vous souhaitez vous connecter. Je trouve cela bien parce que les informations de connexion spécifiques ne doivent pas être stockées dans R, et cela peut varier pour vos collaborateurs.

Aussi, oui, il semble que vous n'avez pas chargé le paquet RPostgresSQL.

1

Je suppose que vous devez installer le paquet DBI (la plupart des paquets de base de données en dépendent).

Si vous utilisez install.packages('RPpostgreSQL',dep=TRUE) à partir de R, il devrait prendre en charge tous les problèmes de dépendance.