tapply在r语言中的用法
时间: 2023-06-15 16:07:56 浏览: 290
R语言:大数据分析中的统计方法及应用
5星 · 资源好评率100%
tapply函数是R语言中的一个非常有用的函数,它可以对向量、数组或数据框中的数据进行分组运算。它的基本语法为:
tapply(X, INDEX, FUN)
其中,X 是待处理的向量、数组或数据框,INDEX 是分组变量,可以是向量、因子或由多个因子组成的列表,FUN 是需要应用的函数。tapply函数将会对 X 中的数据按照 INDEX 中的分组变量进行拆分,然后对每个组应用 FUN 函数进行计算。
下面是一些例子:
1. 对一个向量进行分组求和:
```
x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
idx <- rep(c("A", "B"), each = 5)
tapply(x, idx, sum)
```
输出:
```
A B
15 40
```
2. 对数据框按照某一列分组求均值:
```
df <- data.frame(group = rep(1:3, each = 4), value = rnorm(12))
tapply(df$value, df$group, mean)
```
输出:
```
1 2 3
-0.1925456 -0.3024075 -0.0979152
```
3. 对一个数组按照多个因子进行分组求和:
```
arr <- array(1:24, dim = c(2, 3, 4))
f1 <- factor(rep(1:2, each = 6))
f2 <- factor(rep(1:3, each = 4))
tapply(arr, list(f1, f2), sum)
```
输出:
```
, , 1
[,1] [,2] [,3]
1 9 21 33
2 10 22 34
, , 2
[,1] [,2] [,3]
1 15 27 39
2 16 28 40
, , 3
[,1] [,2] [,3]
1 21 33 45
2 22 34 46
```
阅读全文