读书频道 > 网站 > 网页设计 > 数据挖掘核心技术揭秘
1.3.6 R语言编程
15-11-10    下载编辑
收藏    我要投稿   

本文所属图书 > 数据挖掘核心技术揭秘

本书包括五部分内容。第一部分(第1~3章)涉及数据挖掘技术的基础知识,介绍数据挖掘的定义、数据挖掘工具及应用领域,数据挖掘的数学基础内容,以及海量数据挖掘处理技术。第二部分(第4~5章)分别从聚类技术立即去当当网订购

R语言是主流的数据挖掘语言之一,主要用于统计分析、绘图、数据挖掘等。R语言的源代码可自由下载使用,亦有已编译的可执行文件版本可以下载,可在多种平台下运行,包括UNIX(也包括FreeBSD和Linux)、Windows和Mac OS。R主要是以命令行操作,已有人开发了几种图形用户界面。

R是一种基于对象(Object)的语言,所以在R语言中接触到的每样东西都是一个对象,一串数值向量是一个对象,一个函数是一个对象,一个图形也是一个对象。基于对象的编程(OOP)就是在定义类的基础上创建与操作对象。

对象中包含了程序运行所需的数据,同时对象也具有很多属性(attribute)。其中一种重要的属性就是它的类(class),R语言中最为基本的类包括数值(numeric)、逻辑(logical)、字符(character)、列表(list),在此基础上构成了一些复合型的类,包括矩阵(matrix)、数组(array)、因子(factor)、数据框(dataframe)。除了这些内置的类外还有很多其他的,用户还可以自定义新的类,但所有的类都是建立在这些基本的类之上的。

和MATLAB一样,R语言以向量为基本运算对象。也就是说,当输入的对象为向量时,对其中的每个元素分别进行处理,然后以向量的形式输出。R语言中基本上所有的数据运算均允许向量操作。不仅如此,R还包含了许多高效的向量运算函数,这也是它不同于其他软件的一个显著特征。向量化运算的好处在于避免使用循环,使代码更为简洁、高效和易于理解。下面来对apply族函数作一个简单的归纳,以便大家管中窥豹,理解R语言的特点。

apply族函数包括apply、sapply、lappy、tapply等函数,这些函数在不同的情况下能高效完成复杂的数据处理任务,但角色定位又有所不同。

apply()函数的处理对象是矩阵或数组,它逐行或逐列地处理数据,其输出的结果将是一个向量或矩阵。下面的例子即对一个随机矩阵求每一行的均值。要注意的是apply与其他函数不同,它并不能明显改善计算效率,因为它本身内置为循环运算。

m.data <- matrix(rnorm(100),ncol=10)
apply(m.data,1,mean)

lappy()的处理对象是向量、列表或其他对象,它将向量中的每个元素作为参数,输入到处理函数中,最后生成结果的格式为列表。在R中数据框是一种特殊的列表,所以数据框的列也将作为函数的处理对象。下面的例子即对一个数据框按列来计算中位数与标准差。

f.data <- data.frame(x=rnorm(10),y=runif(10))
lapply(f.data,FUN=function(x) list(median=median(x),sd=sd(x)))

sapply()可能是使用最为频繁的向量化函数,它和lappy()是非常相似的,但其输出格式则是较为友好的矩阵格式。

sapply(f.data,FUN=function(x) list(median=median(x),sd=sd(x)))
class(test)

tapply()的功能则又有不同,它是专门用来处理分组数据的,其参数要比sapply多一个。我们以iris数据集为例,可观察到Species列中存放了三种花的名称,我们的目的是要计算三种花瓣萼片宽度的均值。其输出结果是数组格式。

head(iris)
attach(iris)
tapply(Sepal.Width,INDEX=Species,FUN=mean)

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站