You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中高效实现Excel中的指定数据透视表操作

嘿,我来帮你把Excel里的聚合数据处理流程转到R里,给你几种高效的实现方法,你可以根据自己的需求选!

首先先确认你的原始数据结构,方便后续演示:

ID <- c(rep(1, 3), rep(2, 3))
Source <- rep(c("A", "A", "B"), 2)
Total <- c(11, 13, 12, 25, 27, 26)
Actions <- c(3, 2, 3, 8, 9, 10)
df <- data.frame(ID, Source, Total, Actions)

假设你要做的是按ID和Source分组,对Total和Actions字段执行聚合操作(比如求和、均值等),下面是几种主流高效的实现方式:

1. 日常首选:dplyr(tidyverse生态,代码易读且高效)

dplyr是R语言数据处理的主流工具,语法贴近自然语言,写起来顺畅,和其他tidyverse工具(比如可视化的ggplot2、数据清洗的tidyr)兼容性拉满,日常数据处理用它最顺手,大数据场景下性能也不错。

先安装并加载包:

# 没装过tidyverse的话先安装
install.packages("tidyverse")
library(dplyr)

以求和为例的聚合代码:

df2 <- df %>%
  group_by(ID, Source) %>%  # 按ID和Source分组
  summarise(
    Total_sum = sum(Total),  # 对Total求和
    Actions_sum = sum(Actions),  # 对Actions求和
    .groups = "drop"  # 可选:分组后取消分组状态,返回普通数据框
  )

# 查看结果
df2

输出结果:

# A tibble: 4 × 4
     ID Source Total_sum Actions_sum
  <dbl> <chr>      <dbl>       <dbl>
1     1 A             24           5
2     1 B             12           3
3     2 A             52          17
4     2 B             26          10

如果需要其他聚合逻辑,直接替换sum()就行——比如求均值用mean()、最大值用max(),还能一次性计算多个统计量,比如同时算求和和均值:

df2 <- df %>%
  group_by(ID, Source) %>%
  summarise(
    Total_sum = sum(Total),
    Total_mean = mean(Total),
    Actions_sum = sum(Actions),
    .groups = "drop"
  )

2. 零依赖方案:Base R的aggregate()

如果你不想安装额外的包,用Base R自带的aggregate()也能实现,就是语法稍微繁琐一点:

# 按ID和Source分组,对Total和Actions求和
df2 <- aggregate(cbind(Total, Actions) ~ ID + Source, data = df, FUN = sum)

# 查看结果
df2

输出和dplyr的结果完全一致,只是返回的是Base R标准数据框格式。

3. 极致性能:data.table(超大数据集首选)

如果你的数据量特别大(比如百万行以上),data.table的处理速度会比dplyr更快,内存占用也更高效,适合大规模数据处理场景。

先安装加载包:

install.packages("data.table")
library(data.table)

# 把普通数据框转成data.table格式
dt <- as.data.table(df)

# 聚合操作
dt2 <- dt[, .(Total_sum = sum(Total), Actions_sum = sum(Actions)), by = .(ID, Source)]

# 查看结果
dt2

方法总结

  • 日常数据处理优先选dplyr:代码易读,生态完善,流程顺畅;
  • 不想装包就用Base R的aggregate():零依赖,满足基础需求;
  • 超大数据集选data.table:速度和内存效率拉满。

内容的提问来源于stack exchange,提问作者mmyoung77

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:34:01