Linux使用ODBC方式还是DBI方式安装R语言扩展包好?

Linux系统用户在使用R语言连接SQL数据库时,需要安装其他的扩展包,那么我们该使用ODBC方式进行安装还是使用DBI方式进行安装呢?今天小编就给大家分析下这两种安装方式的区别吧 。

Linux使用ODBC方式还是DBI方式安装R语言扩展包好?


数据分析经常需要从外部获得数据 。很多情况下数据存放在关系型数据库中 。一般我们可以用SQL来提取需要的数据,存为文本再由R来读入 。这种方式结合了数据库的储存能力和R的分析能力,速度也非常快 。但是如果要形成一套可重复性的自动工作流程,则可以将R与外部数据库连接,直接在R中操作数据库,并生成最终结果,这也是一种可行的方法 。
在R中连接数据库需要安装其它的扩展包,根据连接方式不同我们有两种选择:一种是ODBC方式,需要安装RODBC包并安装ODBC驱动 。另一种是DBI方式,可以根据已经安装的数据库类型来安装相应的驱动 。因为后者保留了各数据库原本的特性,所以个人比较偏好用DBI连接方式 。有下面这几种主要的包提供了DBI连接:RMySQL,RSQLite,ROracle,RPostgreSQL 。由名字看得出它们分别对应了几种主流的数据库 。
这几种数据库中SQLite是一个轻量级的数据库,完全免费,使用方便,不需要安装,无须任何配置,也不需要管理员 。如果只需要本地单机操作,用它来配合R来存取数据是非常方便的 。下面来看看R中操作SQLite数据库的示例 。
从零开始:
1、下载SQLite,它是一个单独的执行文件,并且是在命令行下操作 。如果不习惯可以安装sqlitebrowser之类的GUI 。先把它放到一个文件夹中,例如sqlite 。
2、在sqlite中执行sql脚本,建立一个数据库 。将脚本文件放到同一个文件夹中,然后执行下面的 。现在文件夹中应该有train.db这个数据库文件了 。
.read Scheme.sql
.read Data.sql
.backup train.db
3、在R中安装RSQlite包
install.packages(‘RSQlite’)
4、加载RSQlite包,建立连接后用SQL读取数据
library(RSQLite)
# 建立连接,注意数据库类型和文件地址
con 《- dbConnect(‘SQLite’,dbname=‘d:/sqlite/train.db’)
# 观察数据库中有三个数据表格
dbListTables(con)
# 观察其中一个表的字段
dbListFields(con,‘Apply’)
# 写一段SQL语句,来选取需要的数据
sql 《- “select sName,GPA,decision,cName
from Student,Apply
where Student.sID = Apply.sID
and sizeHS 《 1000 and major = ‘CS’ and cName = ‘Stanford’”
# 将选取的数据存入到data中,同时显示出来
(data 《- dbGetQuery(con,sql))
# 关闭数据库连接
dbDisconnect(con)
【Linux使用ODBC方式还是DBI方式安装R语言扩展包好?】 以上就是使用ODBC方式进行安装和使用DBI方式进行安装扩展包的区别了,有需要的用户可以看看这篇文章参考下 。

    推荐阅读