萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux使用ODBC方式還是DBI方式安裝R語言擴展包好?

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)

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

copyright © 萬盛學電腦網 all rights reserved