歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux維護 >> Linux使用ODBC方式還是DBI方式安裝R語言擴展包好?

Linux使用ODBC方式還是DBI方式安裝R語言擴展包好?

日期:2017/3/2 10:28:16   编辑:Linux維護

Linux系統用戶在使用R語言連接SQL數據庫時,需要安裝其他的擴展包,那麼我們該使用ODBC方式進行安裝還是使用DBI方式進行安裝呢?今天小編就給大家分析下這兩種安裝方式的區別吧。

數據分析經常需要從外部獲得數據。很多情況下數據存放在關系型數據庫中。一般我們可以用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)

以上就是使用ODBC方式進行安裝和使用DBI方式進行安裝擴展包的區別了,有需要的用戶可以看看這篇文章參考下。

Copyright © Linux教程網 All Rights Reserved