【问题标题】:what is the meaning of tapply(x,index) if no FUN?如果没有 FUN,tapply(x,index) 是什么意思?
【发布时间】:2013-11-04 00:53:27
【问题描述】:

我知道代码中tapply(dat$sale,list(dat$year,dat$province),sum)的含义:

 > dat=data.frame(  
 + year=c(rep(2007,5),rep(2008,3),rep(2009,3)),  
 + province=c("a","a","b","c","d","a","c","d","b","c","d"),  
 + sale=1:11)  
 > tapply(dat$sale,list(dat$year,dat$province),sum)  
       a  b  c  d  
 2007  3  3  4  5  
 2008  6 NA  7  8  
 2009 NA  9 10 11  

tapply(dat$sale,list(dat$year,dat$province)) 里面没有 FUN 是什么意思?

> tapply(dat$sale,list(dat$year,dat$province))
[1]  1  1  4  7 10  2  8 11  6  9 12

它是一个下标,结果中129是什么意思?
129在哪条规则下可以得到?如何计算?

【问题讨论】:

    标签: r tapply


    【解决方案1】:

    来自?tapply

    FUN 要应用的函数,或 NULL。在函数的情况下 像 +、%*% 等,函数名必须反引号或引号。如果 FUN 为 NULL,tapply 返回一个可用于下标的向量 多路数组tapply正常产生。

    FUN 默认为NULL,所以你得到了下标。

    请注意,在 R 矩阵/数组中,就像 tapply 返回的那些,只是具有维度的向量。矩阵是column-major by default,因此您将获得第一列的ith 元素,直到它环绕到第二列:

    > mat <- matrix(seq(9),ncol=3)
    > mat
         [,1] [,2] [,3]
    [1,]    1    4    7
    [2,]    2    5    8
    [3,]    3    6    9
    > mat[4]
    [1] 4
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-24
      • 2020-03-18
      • 2021-08-02
      • 1970-01-01
      • 2020-10-02
      • 2011-05-27
      相关资源
      最近更新 更多