[译]用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)

如下图所示:

关于本次实验的更多内容请参考《实验楼课程》

posted @ 2015-07-17 14:58  wing1995  阅读(1104)  评论(1编辑  收藏  举报