现在位置: 首页 > R 教程 > 正文

R tapply() 函数 - 分组统计

R 语言实例 R 语言实例

R tapply() 函数用于按分组对数据应用函数,进行分组汇总。

tapply() 是分组统计中最常用的函数之一,类似于 SQL 的 GROUP BY。

tapply() 函数语法格式如下:

tapply(X, INDEX, FUN, ...)

参数说明:

  • X 要统计的数据向量。

  • INDEX 分组变量(因子或列表)。

  • FUN 要应用的汇总函数。

实例

# 学生成绩数据
scores <- c(88, 92, 76, 85, 90, 95, 70, 82, 89, 78)
grade <- c("A", "A", "B", "B", "A", "A", "C", "B", "A", "C")

# 按班级计算平均分
avg_by_grade <- tapply(scores, grade, mean)
print("各班平均分:")
print(avg_by_grade)

# 按班级计算多个统计量
result <- tapply(scores, grade, function(x) {
  c(人数 = length(x), 均值 = mean(x), 最高 = max(x))
})
print("各班详细统计:")
print(result)

执行以上代码输出结果为:

[1] "各班平均分:"
   A    B    C
90.8 81.0 74.0
[1] "各班详细统计:"
$A
人数 均值 最高
 5.0 90.8 95.0

$B
人数 均值 最高
 3.0 81.0 85.0

$C
人数 均值 最高
 2.0 74.0 78.0

R 语言实例 R 语言实例