(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] 1.666667 3.333333 3.000000 4.000000
> apply(m,2,sd)
[1] 1.290994 1.414214 1.290994
> apply(m,1:2,function(x) x*2)
     [,1] [,2] [,3]
[1,] 2 2 6
[2,] 4 8 8
[3,] 6 2 10
[4,] 8 4 12
> apply(m,2,table) #返回的是列表
[ [1] ]
 
1 2 3 4
1 1 1 1
……
> apply(m, 1, stats::quantile) #各行的分位数,返回矩阵
     [,1] [,2] [,3] [,4]
0% 1 2 1 2
25% 1 3 2 3
50% 1 4 3 4
75% 2 4 4 5
100% 3 4 5 6
 
 
(2)    by
 
  by函数是tapply的一个面向用户的友好包装版,是一个使用因子来对数据框按行进行分组并对每个子集运用函数的方法。它的对象数据被默认强制转换为数据框。它返回一个 类属性为by的对象,simplify i= false是,返回值是列表,否则是列表或数组。
by(data, INDICES, FUN, ..., simplify = TRUE)
 
#例 使用著名的鸢尾花数据iris
> attach(iris)
> head(iris)
   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
> by(iris[, 1:4], Species, mean)
Species: setosa
Sepal.Length Sepal.Width Petal.Length Petal.Width
       5.006 3.428 1.462 0.246
---------------------------------------------------------
Species: versicolor
Sepal.Length Sepal.Width Petal.Length Petal.Width
       5.936 2.770 4.260 1.326
---------------------------------------------------------
Species: virginica
Sepal.Length Sepal.Width Petal.Length Petal.Width
       6.588 2.974 5.552 2.026
 
 

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

  1. R语言apply函数族笔记

    为什么用apply 因为我是一个程序员,所以在最初学习R的时候,当成“又一门编程语言”来学习,但是怎么学都觉得别扭.现在我的看法倾向于,R不是一种通用型的编程语言,而是一种统计领域的软件工具.因此,不 ...

  2. R中apply函数族

    参考于:http://blog.fens.me/r-apply/ 1. apply的家族函数 2. apply函数 apply函数是最常用的代替for循环的函数.apply函数可以对矩阵.数据框.数组 ...

  3. 数据操作-apply函数族

    R 作为一种向量化的编程语言,一大特征便是以向量计算替代了循环计算,使效率大大提升.apply函数族正是为解决数据循环处理问题而生的 -- 面向不同数据类型,生成不同返回值的包含8个相关函数的函数族. ...

  4. 【R.转载】apply函数族的使用方法

    为什么用apply 因为我是一个程序员,所以在最初学习R的时候,当成"又一门编程语言"来学习,但是怎么学都觉得别扭.现在我的看法倾向于,R不是一种通用型的编程语言,而是一种统计领域 ...

  5. 掌握R语言中的apply函数族(转)

    转自:http://blog.fens.me/r-apply/ 前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是 ...

  6. 【R笔记】R语言函数总结

    R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字 ...

  7. 使用 apply 函数族

    之前,我们讨论过可以使用 for 循环,在一个向量或列表上进行迭代,重复执行某个表达式.但是在实践中,for 循环往往是最后的选择,因为每次迭代都是相互独立的,所以我们可以使用更简洁更方便的读写方式来 ...

  8. R笔记(1):formula和Formula

    #####开一个新的系列.关于R的一些笔记,就是遇到过的一些问题的简单整理.可能很基本,也可能没什么大的用处,作为一个记录而已.------------------------------------ ...

  9. R笔记4:ggplot绘制商务图表--玫瑰图

    我们说Excel有难度的图表,可以考虑ggplot2是否更方便,本帖的例子就是用ggplot做玫瑰图. Excel做玫瑰图有一定难度,可以使用雷达图或圆环图来构建,我的博客上曾有多个帖子讨论这个,见 ...

随机推荐

  1. idea设置文件的编码格式

    在打开某些类时会发现注释是乱码的,该如何解决idea的文件乱码呢?这就需要设置这个文件的合适编码格式: idea设置文件编码的两种方式分别如下: 第一种方式点击idea的右下角的图标如下图所示: 第二 ...

  2. Collection与Map的对比

    Map:HashMap.HashTable  如何在它们之间选择  一.Array , Arrays  Java所有“存储及随机访问一连串对象”的做法,array是最有效率的一种.  1.  效率高, ...

  3. CSS中的@ AT规则

    大家可能在CSS中见到过字符@然后加一些关键字的用法,这种用法就称之为AT规则,在CSS中,种类还是很多的,这里总结列举下. 常规规则 所谓“常规规则”指的是语法类似下面的规则: @[KEYWORD] ...

  4. 常见通用的 JOIN 查询

    SQL执行循序: 手写: SELECT DISTINCT <query_list> FROM <left_table> <join type> JOIN <r ...

  5. 表单元素 disabled 和 readonly 辨析

    正确答案: B D 分析: Readonly 和 Disabled 是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容.但是它们之间有着微小的差别,总结如下: 1)Readonly只 ...

  6. codefoeces 671 problem D

    D. Roads in Yusland standard output Mayor of Yusland just won the lottery and decided to spent money ...

  7. Logistic函数

    Logistic函数(又称sigmoid函数)        Logistic函数或Logistic曲线是一种常见的S形函数,它是皮埃尔·弗朗索瓦·韦吕勒在1844或1845年在研究它与人口增长的关系 ...

  8. LeetCode 4 Median of Two Sorted Array

    There  are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted ...

  9. mysql六:索引原理与慢查询优化

    一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句 ...

  10. 查看Linux上的CPU核心数、线程数

    grep "physical id" /proc/cpuinfo|sort -u grep "cpu cores" /proc/cpuinfo|uniq gre ...