tapply_tapply函数怎么用 - CSDN
精华内容
参与话题
  • tapply函数--R语言

    千次阅读 2018-03-28 08:03:16
    tapply(mpg,cyl,mean) 4 6 8 26.66364 19.74286 15.10000 由:> table(cyl)cyl 4 6 8 11 7 14 可以看出,tapple是以mpg按cyl来应用mean函数具体> mean(mpg[cyl==4])[1] 26.6636...
    > attach(mtcars)
    > tapply(mpg,cyl,mean)
           4        6        8
    26.66364 19.74286 15.10000


    由:

    > table(cyl)
    cyl
     4  6  8
    11  7 14

    可以看出,tapple是以mpg按cyl来应用mean函数

    具体

    > mean(mpg[cyl==4])

    [1] 26.66364

    > mean(mpg[cyl==6])

    [1] 19.74286

    > mean(mpg[cyl==8])
    [1] 15.1




    展开全文
  • apply函数 对矩阵、数据框、数组(二维、多维)等矩阵型数据,按行或列应用函数FUN进行循环计算,并以返回计算结果 apply(X, MARGIN, FUN, ...) X:数组、矩阵、数据框等矩阵型数据 MARGIN: 按行计算或按按列计算,1...

    apply函数

    对矩阵、数据框、数组(二维、多维)等矩阵型数据,按行或列应用函数FUN进行循环计算,并以返回计算结果

    apply(X, MARGIN, FUN, ...)
    
    • X:数组、矩阵、数据框等矩阵型数据
    • MARGIN: 按行计算或按按列计算,1表示按行,2表示按列
    • FUN: 自定义的调用函数

    应用iris数据集进行举例,以下计算前四个变量的均值:

    a <- apply(iris[,1:4], 2, mean)					#前四列数据,按列,求均值
    a
    # 输出
    Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
        5.843333     3.057333     3.758000     1.199333 
    

    tapply函数

    将数据按照不同方式分组,生成类似列联表形式的数据结果

    tapply(X, INDEX, FUN = NULL, ..., default = NA, simplify = TRUE)
    
    • X:数组、矩阵、数据框等分割型数据向量
    • INDEX:一个或多个因子的列表,每个因子的长度都与x相同
    • FUN: 自定义的调用函数
    manager <- c(1, 2, 3, 4, 5)
    country <- c("US", "US", "UK", "UK", "UK")
    gender <- c("M", "F", "F", "M", "F")
    age <- c(32, 45, 25, 39, 99)
    leadership <- data.frame(manager, country, gender, age)
    tapply(leadership$age, leadership$country, mean)	# 求在不同country水平下的age的均值
    # 输出
          UK       US 
    54.33333 38.50000 
    
    # 求在不同country和gender交叉水平下的age的均值, 输出得到矩阵数据
    tapply(leadership$age, list(leadership$country, leadership$gender), mean)
    # 输出
        F  M
    UK 62 39
    US 45 32
    

    lapply函数

    对列表、数据框数据集进行循环,输入为列表,返回值为列表

    lapply(X, FUN, ...)
    
    • X:列表、数据框
    • FUN:自定义的调用函数
    b <- list(x = 1:10, y = matrix(1:12, 3, 4))
    b
    # 输出
    $x
     [1]  1  2  3  4  5  6  7  8  9 10
    
    $y
         [,1] [,2] [,3] [,4]
    [1,]    1    4    7   10
    [2,]    2    5    8   11
    [3,]    3    6    9   12
    lapply(b, sum)					# 求列表中各元素的和
    # 输出
    $x
    [1] 55
    
    $y
    [1] 78
    

    sapply函数

    类似于lapply函数,但输入为列表,返回值为向量

    sapply(X, FUN, ..., )
    
    • X:列表、矩阵、数据框
    • FUN:自定义的调用函数
    sapply(b, sum)				# 求列表中各元素的和
    # 输出
     x  y 
    55 78 
    
    展开全文
  • tapply 分组apply,sapply,

    千次阅读 2016-09-19 20:27:06
    apply系列簇函数系列
    1. tapply
    2. sapply

    tapply

    >head(iris)
    >#下一句也可以写成tapply(iris$Sepal.Length, INDEX = list(iris$Species), FUN = sum)
    > tapply(iris$Sepal.Length, list(iris$Species), sum)
        setosa versicolor  virginica 
         250.3      296.8      329.4 

    根据结果就可以看出 tapply 把iris$Sepal.Length 按照 iris$Species来分组求和啦
    sum(即FUN = sum)是系统自己带的求和函数.
    若 FUN = mean 则是每一组的平均值
    INDEX要跟factor,iris$Species刚好是factor.通过class查看:

    > class(iris)
    [1] "data.frame"
    > class(iris$Species)
    [1] "factor"
    展开全文
  • factor(), tapply()

    2019-10-09 15:20:17
    factor(), ordered() tapply() tapply(X, INDEX, FUN = NULL, …, default = NA, simplify = TRUE)
    • factor(), ordered()

      在这里插入图片描述
    • tapply()

    tapply(X, INDEX, FUN = NULL, …, default = NA, simplify = TRUE)
    在这里插入图片描述

    展开全文
  • apply() apply(m,dimcode,f,fargs) m 是一个矩阵。 dimcode是维度编号,取1则为对行应用函数,取2则为对列运用函数。 f是函数 fargs是f的可选参数集 >...- matrix(1:6, nrow = 3) ... apply...
  • 本课程旨在帮助学习者快速入门R语言: 课程系统详细地介绍了使用R语言进行数据处理的基本思路和方法。 课程能够帮助初学者快速入门数据处理。 ... 课程通过大量的案例详细地介绍了如何使用R语言进行...
  • 参考:https://www.zhihu.com/question/46661384 table()的输出可以看成是一个带名字的数字向量。可以用names()和as.numeric()分别得到名称和频数: > x sample(c("a", "b", "c"), 100...[1] "a" "b
  • R语言提供了批量处理函数,可以循环遍历某个集合内的所有或部分元素,以简化操作。 这些函数底层是通过C来实现的...批量处理函数有很重要的apply族函数:lapply sapply apply tapply mapply。apply族函数是高效能计
  • R语言:apply,sapply,tapply用法

    万次阅读 2019-07-01 17:23:17
    https://www.zhihu.com/question/39843392 转载自知乎,觉得总结的不错
  • 最近参加了一个小比赛,其中的tapply,sapply(lapply)函数可以快速实现我的目的和有效减少代码量 f 说明 tapply(x,f,g) x为向量,f为因子列,g为操作函数,相对数据框进行类似操作可以用by函数 sapply(list,g) g...
  • <li><code>tapply(vector, grouping, f)</code>: output is a matrix/array, where an element in the matrix/array is the value of <code>f</code> at a grouping <code>g</code> of the vector, and <code>g...
  • 关于tapply函数 返回值的操作

    千次阅读 2014-03-08 15:15:35
    20120216124410 20120216124411 20120216124412 20120216124413 20120216124414 3091.333 3934.333 3632.333 2437.000 3586.000 上面的数据是上一篇文章:求标准差后返回的一部分数据。对于这个结构,上面的部分...
  • R语言swirl教程11——vapply and tapply | In the last lesson, you learned about the two most fundamental members of R’s *apply family of functions: lapply() and sapply(). Both take a list as input, ...
  • apply函数(对一个数组按行或者按列进行计算):  使用格式为: apply(X, MARGIN, FUN, ...) 其中X为一个数组;MARGIN为一个向量(表示要将函数FUN应用到X的行还是列),若为1表示取行,为2表示取列,为c(1,2)...
  • 4-4 R语言函数 tapply

    2019-08-05 16:24:18
    #tapply(参数):tapply(向量,因子/因子列表,函数/函数名) > x <- c(rnorm(5),runif(5),rnorm(5,1)) > f <- gl(3,5) > f [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 Levels: 1 2 3 > tapply(x,f,mean)...
  • apply函数(对一个数组按行或者按列进行计算): 使用格式为: apply(X, MARGIN, FUN, ...) 其中X为一个数组;MARGIN为一个向量(表示要将函数FUN应用到X的行还是列),若为1表示取行,为2表示取列,为c(1,2)...
  • apply(a,b,c) a是矩阵 b是行或列的代表,1是行,2...tapply(a,b,c) a是一个一维数据, 如 1,2,3,4,5,6 b是和a等长度的一维数据, 如 a,a,b,c,b,c c是执行函数,如求和-sum,结果是 a的求和值为 1+2 ...
  • 本课程旨在帮助学习者快速入门R语言: 课程系统详细地介绍了使用R语言进行数据处理的基本思路和方法。 课程能够帮助初学者快速入门数据处理。 ... 课程通过大量的案例详细地介绍了如何使用R语言进行...
  • 批量处理函数有很重要的apply族函数:lapply sapply apply tapply mapply。apply族函数是高效能计算的运算向量化(Vectorization)实现方法之一,比起传统的for,while常常能获得更好的性能。 apply ...
  • 原文链接 apply函数(对一个数组按行或者按列进行计算): 使用格式为: apply(X, MARGIN, FUN, ...) ...MARGIN为一个向量(表示要将函数FUN应用到X的行还是列),若为1表示取行,为2表示取列,为c(1,2)表示行、...
1 2 3 4 5 ... 20
收藏数 1,075
精华内容 430
关键字:

tapply