将GNU R连接到PostgreSQL

时间:2009-09-11 03:56:25

标签: postgresql r

我安装了GNU RS-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 个答案:

答案 0 :(得分:9)

为了完整起见,您还有两个选项

  • RODBC这是非常成熟且功能完备但与PostgreSQL,MySQL,SQLite,Oracle,......接口的DBI框架不对应。您还需要摆弄ODBC设置文件,这可能很棘手。但ODBC也可能对其他数据访问用途有用。
  • 来自BioConductor项目的
  • RdbiPgSQL,该项目也很成熟,但使用的另一个协议是与DBI竞争,从未接受过。这个PostgreSQL软件包很有用。

但作为RPostgreSQL维护者/共同作者,我很高兴你找到了这个。正如其他海报建议的那样,在发出命令之前尝试library(RPostgreSQL)。如果您遇到其他问题,请随时通过错误报告向我发送电子邮件。

编辑:还有一个选项是使用Joe Conway的PL/R在PostgreSQL中嵌入R。

答案 1 :(得分:3)

也许您需要先运行require(RPostgreSQL)才能使用dbConnect

答案 2 :(得分:1)

我的猜测是你需要安装DBI包(大多数数据库包依赖于它)。

如果您在R中使用install.packages('RPpostgreSQL',dep=TRUE),则应该处理任何依赖性问题。

答案 3 :(得分:0)

RODBC对我很有用。您只需为要连接的数据库设置数据源名称(DSN)。我发现这很好,因为特定的连接信息不必存储在R中,并且可能因协作者而异。

另外,是的,听起来你没有加载RPostgresSQL包。