2009-09-11 9 views
8

ho GNU R installato (il pacchetto S-like statistiche; la versione 2.8.1) e PostgreSQL (8.4.1), ma non riesco a collegarmi al mio GNU RRDBMS.Collegamento GNU R per PostgreSQL

Quando ho eseguito questa operazione (anni fa - codice perso) DBI per R non esisteva. Adesso lo fa. Sono anche confuso su quale pacchetto R utilizzare. Una rapida ricerca restituisce:

  • RPostgreSQL sembra essere il più up-to-date
  • RPgSQL sembra abbandonato. Vorrei che mettessero una data sulla loro pagina web. . ;-(

mio Linux distribution non confezionare R pacchetti (ironia) ma mi trovo a mio agio in esecuzione R CMD INSTALL package.tar.gz

Ho installato RPostgreSQL: un sacco di documentazione dice di chiamare dbConnect ma ottengo il seguente messaggio di errore :. Error: object "dbConnect" not found

+2

"Sei la mia unica speranza" è un'assurdità. C'è una mailing list dedicata chiamata r-sig-db per R e database. –

+7

Non ti preoccupare, Dirk, penso che sia solo un innocuo riferimento a Star Wars. –

risposta

3

Forse è necessario eseguire require(RPostgreSQL) prima di poter utilizzare dbConnect

9

Solo per completezza, y? ou hanno due ulteriori opzioni

  • RODBC che è molto maturo e funzionalità complete, ma non corrisponde al quadro DBI come PostgreSQL, MySQL, SQLite, Oracle, ... interfacce fare. È inoltre necessario giocare con i file di configurazione ODBC che possono essere complicati. Ma ODBC può essere utile anche per altri usi di accesso ai dati.
  • RdbiPgSQL dal progetto BioConductor che è anche maturo ma utilizza ancora un altro protocollo che doveva competere con DBI e non ha mai preso di. Questo pacchetto PostgreSQL è comunque funzionale.

Ma come maintainer/coautore RPostgreSQL sono felice che tu abbia trovato questo. Come suggerito dall'altro poster, prova library(RPostgreSQL) prima di emettere i comandi. Se incontri altri problemi, sentiti libero di mandarmi una email via SO con un bug report.

Modifica: C'è un'altra opzione di incorporare R in PostgreSQL usando Joe Conway's PL/R.

0

RODBC funziona alla grande per me. Devi solo impostare un nome di origine dati (DSN) per il database a cui vuoi connetterti. Trovo questo bello perché quindi le informazioni di connessione specifiche non devono essere memorizzate in R, e può variare per i tuoi collaboratori.

Inoltre, sì, sembra che tu non abbia caricato il pacchetto RPostgresSQL.

1

Suppongo che sia necessario installare il pacchetto DBI (la maggior parte dei pacchetti di database dipendono da questo).

Se si utilizza install.packages('RPpostgreSQL',dep=TRUE) dall'interno di R, è necessario risolvere eventuali problemi di dipendenza.