在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
R语言有很多种获取从数据源(有手动输入、CSV、Excel、JSON、XML、NetCDF、HDF5、SPSS、SAS、Stata这些数据源等)获取数据的方式,下面介绍常用的几种: 1. 手动录入 数据量少,可以采用这种方式: 1.1 先创建对象,然后调用<对象名> <- edit(<对象名>)或fix(<对象名>)来进行增加数据: 输入数据:
数据结果:
1.2 直接创建变量并同时初始化,然后调用read.table()读取:
这种方式对于初学者可能会多用一些,实际很少用的。 2. 导入Excel的数据 读取Excel需要安装xlsx、xlsxjars、rJava包,因为涉及Java,因此需要Java环境也配置好了:
安装后发现安装过程有如下错误:
提示告诉我们,如果确认JAVA环境配置没问题,用管理员用户执行"R CMD javareconf",现在执行以下:
重新加载R语言环境, 单独安装rJava包试下,报如下错误:
还是不行,囧~~~~先不用xlsx包了,后面知道怎么解决再弄了,换openxlsx,它不需要依赖rJava:
测试Excel文档的内容:
导入数据:
更多使用查help就行了。 3. 从网络获取数据 这里使用现在广泛使用的JSON数据: 这里使用一个接口获取的json数据如下:
可以看到,其结构如下,我们准备获取result对应的list: {"result": [ {"type": "----", "name": "---"} ... ]} 安装"rjson"包:
测试获取数据:
返回的是一个列表数据。为了方便处理,可以转为数据框:
数据还是可以优化的,上面看到typeX和nameX一直重复,现在把所有name提取出来,其他的type都一样:
数据挖掘流程一开始都这样,从数据源获取数据到数据仓库,然后进行数据预处理为便于分析的数据(刚刚做的就是数据预处理),然后进行下一步的建模分析了。 4. 从数据库获取数据 可以通过原生的数据库驱动或ODBC/JDBC来从数据库获取数据,一般通过ODBC或JDBC连接是最常用的,因为不用针对每种数据库都写不一样的语句。 -------------------------------(这里基于Windows10平台,Mac平台的遇到点问题,还没配置成功) 安装RODBC包之前,需要先针对使用的系统和数据库类型安装和配置合适的ODBC驱动(这里下载: http://www.odbcmanager.net) 现在下载安装mysql的ODBC驱动(https://dev.mysql.com/downloads/connector/odbc/),安装后目录如下: 配置好后,接下来就是安装RODBC: 然后配置数据源:(控制面板 ---- 管理工具 ---- 出现如下窗口)
选择"ODBC数据源(64位)", 显示如下窗口:
选择"系统DSN",点击"添加",如下:
出现两种数据库的驱动,这里用MySQL(SQL Server类似),选择ANSI的,确定后弹出如下界面:
输入相关信息,点击"Test"测试一下,连接成功:
配置完成后,现在R加载ODBC库来连接数据库查看下数据: 通过MySQL WorkBench查看iHouse数据库数据如下:
测试:
使用sqlTables可以看数据库里有什么表,然后使用sqlFetch可以获取表的所有数据,使用sqlQuery可以输入有效地SQL语句进行指定查询。更多使用参考RODBC的文档即可。 最后,不使用,记得使用close()函数管理连接: close(my_con)。
5. 从本地获取数据 假设现在有这个数据文件:
可如下读取:
6. 后面还可以从XML或其他数据源获取数据,因为目前我不常用,也就不测试了,用到再弄了。 实际对数据的处理是很灵活的,根据数据分析要求,从数据源获取,然后按需处理数据即可。 |
请发表评论