3.4 数据集连接
数据分析中常会遇到一些容量很大的数据文件,这时如果用本地文件格式存储,会出现如下几个问题:数据量大于计算机内存时,计算机无法读取数据;数据的修改十分困难;无法按照需求加载数据。要解决上述问题,可以采用数据库存储数据的方式。
数据库主要有两种类型:关系型数据库和非关系型数据库。关系型数据库是相互关联的表的集合,例如学生成绩单,学生姓名存储到一张表,学生成绩存储到另一张表,它们之间一一对应。非关系型数据库是指数据以对象的形式存储在数据库中,对象之间的关系通过对象的自身属性来决定。在数据量较小时,关系型数据库可能更加高效,但是数据量增加之后,尤其是数据字段增多后,非关系型数据库的数据存储效率更高。
在使用R与数据库连接时,要先配置好数据库的环境。R连接数据库常用的方法有以下2种。
1.使用R数据库接口
在连接MySQL时,首先需要下载安装数据库,然后安装RMySQL包。
在这种方式下,连接数据库的工具有以下2种:
(1)dbConnect函数
这里使用dbConnect函数创建了一个连接:conn。在此基础上,我们可以对数据库进行一系列的操作:
db WriteTable()可以将数据对象写入数据库表;conn代表指向数据库的路径;tablename为表的名称;data为要写入的数据;dbRead Table()则用来读取数据库中的数据;dbDisconnect(conn)表示关闭此连接。
(2)sqldf包
同样,在连接数据库之前首先需要安装sqldf包,然后再对其进行加载。sqldf包建立连接的常用方式如下:
2.使用ODBC连接
使用ODBC的方式进行连接,首先需要在Windows下配置ODBC,以开放数据库连接,具体步骤如下:
·下载并安装MySQL ODBC,下载地址为:http://dev.mysql.com/downloads/connector/odbc。
·在Windows中,选择“控制面板”→“管理工具”→“ODBC数据源(64位)”,双击“ODBC数据源(64位)”,选择“添加”→“mysql ODBC driver”,并根据个人需要填写信息(在弹出的TCP/IP Server选项框中,填写本机服务器IP地址,一般为:127.0.0.1)。数据库里会出现MySQL里的数据库列表,在其中选择一个作为在R中要调用的数据库。
·打开R的界面调用数据库。
调用数据库的常用语法如下,sql Tables函数用来查看数据库中的表,sqlFetch则将数据库中的数据读取到数据框中。