我知道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
Run Code Online (Sandbox Code Playgroud)
tapply(dat$sale,list(dat$year,dat$province))如果没有乐趣的话是什么意思?
> tapply(dat$sale,list(dat$year,dat$province))
[1] 1 1 4 7 10 2 8 11 6 9 12
Run Code Online (Sandbox Code Playgroud)
这是一个下标,是什么意思12或9在结果?
在哪个规则我可以得到12或9?如何计算它?
来自?tapply:
FUN要应用的函数,或NULL.对于+,%*%等函数,函数名必须反引用或引用.如果FUN为NULL,则tapply返回一个向量,该向量可用于下标tapply正常生成的多路数组.
FUN默认为NULL,所以你得到了下标.
请注意,在R矩阵/数组中,如返回的那些tapply,只是具有维度的向量.默认情况下,矩阵是列主要的,因此您将获得i第一列的第th个元素,直到它包装到第二列:
> 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
732 次 |
| 最近记录: |