【R笔记】apply函数族】的更多相关文章

为什么用apply 因为我是一个程序员,所以在最初学习R的时候,当成“又一门编程语言”来学习,但是怎么学都觉得别扭.现在我的看法倾向于,R不是一种通用型的编程语言,而是一种统计领域的软件工具.因此,不能用通用型编程的思维来设计R代码.在Andrew Lim关于R和Python的对比回答中,R是一种面向数组(array-oriented)的语法,它更像数学,方便科学家将数学公式转化为R代码.而Python是一种通用编程语言,更工程化.在使用R时,要尽量用array的方式思考,避免for循环.不用循…
参考于:http://blog.fens.me/r-apply/ 1. apply的家族函数 2. apply函数 apply函数是最常用的代替for循环的函数.apply函数可以对矩阵.数据框.数组(二维.多维),按行或列进行循环计算,对子元素进行迭代,并把子元素以参数传递的形式给自定义的FUN函数中,并以返回计算结果. 函数定义: apply(X, MARGIN, FUN, ...) 参数列表: X:数组.矩阵.数据框 MARGIN: 按行计算或按按列计算,1表示按行,2表示按列 FUN:…
R 作为一种向量化的编程语言,一大特征便是以向量计算替代了循环计算,使效率大大提升.apply函数族正是为解决数据循环处理问题而生的 -- 面向不同数据类型,生成不同返回值的包含8个相关函数的函数族. 为何要用apply? 在使用 R 时,要尽量用 array 的方式思考,避免 for 循环,写过多的 for 循环代码,最后把 R 代码写的跟 C 似得说明你没有进入 R 的思考方式,是一种费力不讨好的行为.那么不用循环怎么实现迭代呢?apply函数族是一把利器,它不是一个函数,而是一族功能类似的…
为什么用apply 因为我是一个程序员,所以在最初学习R的时候,当成"又一门编程语言"来学习,但是怎么学都觉得别扭.现在我的看法倾向于,R不是一种通用型的编程语言,而是一种统计领域的软件工具.因此,不能用通用型编程的思维来设计R代码.在Andrew Lim关于R和Python的对比回答中,R是一种面向数组(array-oriented)的语法,它更像数学,方便科学家将数学公式转化为R代码.而Python是一种通用编程语言,更工程化.在使用R时,要尽量用array的方式思考,避免for循…
转自:http://blog.fens.me/r-apply/ 前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言本身来实现的,而向量操作是基于底层的C语言函数实现的,从性能上来看,就会有比较明显的差距了.那么如何使用C的函数来实现向量计算呢,就是要用到apply的家族函数,包括apply, sapply, tapply, mapply, lapp…
R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字符不允许是数字. 基本命令要么是表达式(expressions)要么就是 赋值(assignments). 命令可以被 (;)隔开,或者另起一行. 基本命令可以通过大括弧({和}) 放在一起构成一个复合表达式(compound expression). 一行中,从井号(#)开始到句子收尾之间的语句就…
之前,我们讨论过可以使用 for 循环,在一个向量或列表上进行迭代,重复执行某个表达式.但是在实践中,for 循环往往是最后的选择,因为每次迭代都是相互独立的,所以我们可以使用更简洁更方便的读写方式来实现同样的效果.举个例子,以下代码使用 for 循环创建了一个列表,它由 3 个相互独立.服从正态分布的随机向量构成,其长度由向量 len 确定:len <- c(3, 4, 5)# 首先,在环境中创建一个列表x <- list()# 然后,使用 for 循环根据各自的长度生成相应的随机向量for…
#####开一个新的系列.关于R的一些笔记,就是遇到过的一些问题的简单整理.可能很基本,也可能没什么大的用处,作为一个记录而已.---------------------------------------------------------------------------R笔记(1):formula和Formula 1.基本的R公式对象formula 在R当中,公式fomula是一个把响应变量(在~左侧)和解释变量(在~右侧)联系起来的对象.formula可以用在线性/一般线性模型(如lm…
  (1)    apply apply函数通过对数组,矩阵,或非空维数值的数据框的“边缘”(margin)即行或列运用函数.返回值为向量,数组或列表.   函数形式 apply(X, MARGIN, FUN, ...) 其中,X:数组(矩阵): MARGIN:函数要作用的下标向量,对于矩阵,1表示行,2表示列,1:2表示行和列: FUN:函数名或函数表达式.     ##例 > m<-matrix(c(1:4,1,4,1:6),ncol=3) > apply(m,1,mean) [1]…
我们说Excel有难度的图表,可以考虑ggplot2是否更方便,本帖的例子就是用ggplot做玫瑰图. Excel做玫瑰图有一定难度,可以使用雷达图或圆环图来构建,我的博客上曾有多个帖子讨论这个,见 1.已被sohu隐藏 2.已被sohu隐藏 3.圆环图做南丁格尔玫瑰图:http://blog.sina.com.cn/s/blog_6bc5205e0101jk0r.html 但在ggplot2中做这个图表类型却是非常的简单方便. #读入你的数据.还是使用以前例子的数据,如下图: rose <-…