[译]用R语言做挖掘数据《一》
介绍
一、实验说明
1. 环境登录
无需密码自动登录,系统用户名shiyanlou,密码shiyanlou
2. 环境介绍
本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序:
1. LX终端(LXTerminal): Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令
2. GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器
3. R:在命令行输入‘R’即可进入交互式环境,下面的代码都是在交互式环境运行。
3. 环境使用
使用R语言交互式环境输入实验所需的代码及文件,使用LX终端(LXTerminal)运行所需命令进行操作。
完成实验后可以点击桌面上方的“实验截图”保存并分享实验结果到微博,向好友展示自己的学习进度。实验楼提供后台系统截图,可以真实有效证明您已经完成了实验。
实验记录页面可以在“我的主页”中查看,其中含有每次实验的截图及笔记,以及每次实验的有效学习时间(指的是在实验桌面内操作的时间,如果没有操作,系统会记录为发呆时间)。这些都是您学习的真实性证明。
二、课程介绍
本门课程翻译自《R and Data Mining: Examples and Case Studies》这本书。这一节课主要介绍一些基本的概念以及数据挖掘中的方法,包括数据挖掘的一般步骤和当前常用的数据挖掘技术。
三、基本概念及操作
1、数据挖掘
概念:数据挖掘是从大量数据中获取有用信息的一个过程。它是一门跨越许多领域的学科,涉及到的领域包括统计学,机器学习,信息检索,模式识别以及生物信息学。数据挖掘在许多领域中被广泛使用,例如零售,金融,信息交流以及社会媒体。
数据挖掘主要的技术包括分类和预测、聚类、异常点检测、关联规则、序列分析、时间序列分析以及文本挖掘,也有一些新的技术例如社交网络分析和情感分析。更多关于数据挖掘技术的细节可以下载Data Mining: Concepts and Techniques这本书。
2、R
R为统计计算和画图提供了一个免费的软件环境。它拥有5606个包,里面的包可以在官网CRAN中下载。浏览CRAN Task Views找到需要的包。
R语言的另一个指南是《R Reference Card for Data Mining》,这本书提供给了R语言用于数据挖掘逻辑包函数的全局索引。
3、数据集
3.1 保存和加载R数据
R里面的数据可以使用save()函数保存为.Rdata文件,并可以使用函数load()加载该.Rdata文件到R中。也可以使用函数rm()移除数据对象。实例如下:
# 将1-10赋值给对象a
> a<-1:10
# 保存文件为“dumData.Rata”
> save(a,file="dumData.Rdata")
# 移除数据对象
> rm(a)
# 重新加载数据对象
> load("dumData.Rdata")
> print(a)
打印结果如下图所示:
3.2 从.csv文件中导入或者导出数据
下面的例子建立了一个数据框df1,并使用.csv()函数将它保存为一个.csv文件,然后使用read.csv()函数将该数据框加载到df2对象中。
# 初始化向量
> var1 <- 1:5
> var2 <- (1:5) / 10
> var3 <- c("R", "and", "Data Mining", "Examples", "Case Studies")
# 使用data.frame()将三个向量组合成一个数据框
> df1 <- data.frame(var1, var2, var3)
# 命名数据框的列名
> names(df1) <- c("VariableInt", "VariableReal", "VariableChar")
> write.csv(df1, "dummmyData.csv", row.names = FALSE)
> df2 <- read.csv("dummmyData.csv")
> print(df2)
输出结果如下图所示:
3.3 使用包‘xlsx’读写excel文件
下面的例子创建了一个拥有三个表格的excel文件“iris.xlsx”,使用函数write.xlsx()鸢尾花的数据写入文件,并且每一个表格里面对应一种鸢尾花。当添加第二个表格和第三个表格的时候,为了防止第一张表格的内容被覆盖,需要使用参数append=T向已经存在的文件中添加新的表格。最后,使用函数read.xlsx()从表格“setosa”中读取数据。
# 加载包
> library(xlsx)
# 列表显示花的种类
> table(iris$Species)
# 将不同种类的鸢尾花数据写入对象,并将对象写入execl文件
> setosa <- subset(iris, Species == "setosa")
> write.xlsx(setosa, file="iris.xlsx", sheetName="setosa", row.names=F)
> versicolor <- subset(iris, Species == "versicolor")
> write.xlsx(versicolor, file="iris.xlsx", sheetName="versicolor",
+ row.names=F, append=T)
> virginica <- subset(iris, Species == "virginica")
> write.xlsx(virginica, file="iris.xlsx", sheetName="virginica",
+ row.names=F, append=T)
# 读取文件中表格里面的数据
> a <- read.xlsx("iris.xlsx", sheetName="setosa")
# 打印前6行观测值包括表头名称
> head(a)
如下图所示:
关于本次实验的更多内容请参考《实验楼课程》。
[译]用R语言做挖掘数据《一》的更多相关文章
- [译]用R语言做挖掘数据《二》
数据探索 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: ...
- [译]用R语言做挖掘数据《六》
异常值检测 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: ...
- [译]用R语言做挖掘数据《七》
时间序列与数据挖掘 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用 ...
- [译]用R语言做挖掘数据《五》
介绍 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. ...
- [译]用R语言做挖掘数据《四》
回归 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到程序: 1. ...
- [译]用R语言做挖掘数据《三》
决策树和随机森林 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到 ...
- R语言实现金融数据的时间序列分析及建模
R语言实现金融数据的时间序列分析及建模 一 移动平均 移动平均能消除数据中的季节变动和不规则变动.若序列中存在周期变动,则通常以周期为移动平均项数.移动平均法可以通过数据显示出数据长期趋势的变动 ...
- 用R语言 做回归分析
使用R做回归分析整体上是比较常规的一类数据分析内容,下面我们具体的了解用R语言做回归分析的过程. 首先,我们先构造一个分析的数据集 x<-data.frame(y=c(102,115,124,1 ...
- R语言分析朝阳医院数据
R语言分析朝阳医院数据 本次实践通过分析朝阳医院2016年销售数据,得出“月均消费次数”.“月均消费金额”.“客单价”.“消费趋势”等结果,并据此作出可视化图形. 一.读取数据: library(op ...
随机推荐
- SQL Server数据类型总结
1.char char [(n)]存储固定长度的非Unicode字符串数据.n定义字符串长度,并且必须是1到8,000之间的值.存储大小为n个字节. 2.varchar varchar [(n | m ...
- C# print pos winform
先将pos机设置为默认 控制面板->打印机和传真->右键->服务器属性 首先创建 ClassPrint 对象 using System; using System.Drawing; ...
- 【C#】在datatable中添加一序号列,编号从1依次递增,并且在第一列
详细链接:https://shop499704308.taobao.com/?spm=a1z38n.10677092.card.11.594c1debsAGeak/// <summary> ...
- Websphere中获取项目下.properties路径
一:如果容器为Websphere,那下面为红色的地方不能加"/",如果为tomcat,则加上"/", String path = this.class.get ...
- Codeforces Beta Round #75 (Div. 1 Only) B. Queue 二分
B. Queue Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 codeforces.com/problemset/problem/91/B Descrip ...
- 问题 E: YK的书架
点击打开链接 问题 E: YK的书架 时间限制: 1 秒 内存限制: 128 MB 提交: 596 解决: 138 提交 状态 题目描述 YK新买了2n+1本相同的书,准备放在家里的3层书 ...
- 【12c OCP】最新CUUG OCP-071考试题库(51题)
------------------------------------------------------- 51.(12-10)choose the best answer: Evaluate t ...
- day 10 课后作业
# -*- coding: utf-8 -*-# @Time : 2019/1/2 16:35# @Author : Endless-cloud# @Site : # @File : 课后作业.py# ...
- axios跨域问题
最近遇到一个很奇怪的问题,在帮助测试妹子做一个小项目的时候,遇到了一个很棘手的问题,axios请求的时候报404,请求type是options,我当时的第一反应就是跨域问题,果然在console里面还 ...
- 10分钟教你用Python打造微信天气预报机器人
01 前言 最近武汉的天气越来越恶劣了.动不动就下雨,所以,拥有一款好的天气预报工具,对于我们大学生来说,还真是挺重要的了.好了,自己动手,丰衣足食,我们来用Python打造一个天气预报的微信机器人吧 ...