Jupyter AI

17 R小白教程:数据处理之数据聚合与汇总

📅 发表日期: 2024年8月13日

分类: 📈R 语言入门

👁️阅读: --

在上一篇教程中,我们学习了如何对数据进行选择与过滤。这为我们后续的数据聚合与汇总打下了良好的基础。在本篇中,我们将深入探讨如何使用 R 语言对数据进行聚合,从而方便我们对数据进行汇总分析。接下来,我们将结合实例,逐步理解这一过程。

1. 什么是数据聚合与汇总?

在数据分析中,数据聚合指的是将数据集中的多个部分组合成一个总结性的信息,通常是对特定变量进行统计计算,比如求平均值、最大值、最小值等。而数据汇总则是指对这些聚合结果进行展示,以便于更好地理解数据的结构和特征。

2. 使用 aggregate() 函数进行数据聚合

R 语言提供了强大的数据处理功能,其中就包括了用于数据聚合的 aggregate() 函数。我们首先来看看这个函数的基本用法。

示例数据

让我们首先创建一个示例数据框,包含一些学生的考试成绩信息。

# 创建数据框
data <- data.frame(
  student = c("Alice", "Bob", "Alice", "Bob", "Alice", "Bob"),
  subject = c("Math", "Math", "English", "English", "Science", "Science"),
  score = c(85, 78, 92, 88, 95, 80)
)

使用 aggregate()

假设我们想要计算每个学生在各科目的平均分,可以使用 aggregate() 函数实现。

# 数据聚合
average_scores <- aggregate(score ~ student + subject, data = data, FUN = mean)

在这个例子中,score ~ student + subject 表示我们想基于 studentsubject 这两个变量进行聚合。data 是我们使用的数据框,FUN 指定了我们要使用的聚合函数,这里是计算平均值 mean

结果展示

执行上述代码后,你会得到一个新的数据框 average_scores,其内容类似于:

  student  subject score
1   Alice     English  92
2   Alice        Math  85
3   Alice     Science  95
4     Bob     English  88
5     Bob        Math  78
6     Bob     Science  80

3. 使用 dplyr 包进行数据聚合

除了基础的 aggregate() 函数,dplyr 包提供了一种更直观、更易于操作的语法。其核心函数 group_by()summarize() 可以快速完成数据聚合任务。

示例数据

我们仍然使用之前的数据框 data

使用 dplyr 进行数据聚合

首先,你需要加载 dplyr 包:

library(dplyr)

接下来,我们可以用 dplyr 来计算每个学生在各科目的平均分:

# 数据聚合
average_scores_dplyr <- data %>%
  group_by(student, subject) %>%
  summarize(mean_score = mean(score))

结果展示

执行上述代码后,average_scores_dplyr 的结果将与使用 aggregate() 得到的结果相同。

4. 其他聚合函数

在数据聚合时,除了计算平均值外,我们可能还会使用其他统计函数。以下是一些常用的函数:

  • sum(): 计算和
  • max(): 计算最大值
  • min(): 计算最小值
  • n(): 计算行数

示例:计算总分数

以下例子展示了如何计算每个学生在所有科目中的总分:

total_scores <- data %>%
  group_by(student) %>%
  summarize(total_score = sum(score))

结果展示

执行上述代码后,total_scores 的内容可能如下:

# A tibble: 2 × 2
  student total_score
  <chr>        <dbl>
1 Alice         272
2 Bob           246

5. 小结

在本篇教程中,我们学习了如何在 R 中进行数据的聚合与汇总。我们探讨了aggregate()函数的基本用法,同时也展示了如何利用 dplyr 包来更加直观地处理数据聚合任务。无论是计算平均分、总分,还是使用其他聚合函数,这些技巧都是数据分析中至关重要的部分。

接下来的一篇教程中,我们将讨论数据变形的相关内容,以便更全面地理解数据处理的技巧与应用。希望本篇内容对你的 R 学习旅程有所帮助!