R中有多种面向关系型数据库管理系统(DBMS)的接口,包括Microsoft SQL Sever、Microsoft Access、MySQL、Oracle、PostgreSQL、DB2、Sybase、Teradata以及SQLite。其中一些包通过原来的数据库驱动来提供访问功能,另一些则是通过ODBC或JDBC来实现访问。使用R来访问在外部数据 中的数据是一种分析大数据集的有效手段(参见附录G),并能够发挥SQL和R各自的优势。 R语言中通过RODBC包访问一些数据库是目前比较流行的方式。允许R连接到任意一种拥有ODBC驱动的数据库。 第一步安装RODBC包 > install.packages('RODBC') 试开URL’https://cran./bin/macosx/el-capitan/contrib/3.4/RODBC_1.3-15.tgz' Content type 'application/x-gzip' length 813136 bytes (794 KB) ================================================== downloaded 794 KB The downloaded binary packages are in /var/folders/50/tybzdqks35lfztwq28v39_r40000gn/T//RtmptjWK4W/downloaded_packages RODBC包中各个函数: library(RODBC) myconn <- odbcconnect('mydsn',uid='Rob' ,pwd='aardvark'>-> crimedat <->-> pundat <- sqlquery(myconn,'select*from="">-> close(myconn) 这里首先载入了RODBC ,并通过一个已注册的数据源名称 (mydsn)和用户名(rob)以及密码(aardvark)打开了一个ODBC数据库连接。 连接字符串被传递给sqlFetch,它将Crime数据表复制到数据框pundat中。最后关闭连接。 |
|