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

计算1996-2019年F1澳大利亚大奖赛每年平均圈速的高效方法

解决方案

两种高效实现方式,均无需手动逐年份筛选,也不会生成冗余中间数据集:

基础R实现(无需安装额外依赖包)

直接使用内置的aggregate函数按年份分组计算平均秒数,代码如下:

# 按Year分组计算seconds均值,同时直接筛选1996-2019年数据
avg_lap <- aggregate(seconds ~ Year, 
                     data = Lap_data[Lap_data$Year %in% 1996:2019, ],
                     FUN = mean, na.rm = TRUE)
# 直接提取符合要求的x、y向量
x <- avg_lap$Year
y <- avg_lap$seconds

参数na.rm = TRUE可自动跳过缺失的圈速记录,避免出现NA结果,无缺失值可删除该参数。

tidyverse实现(语法更简洁可读性更高)

如果已经安装tidyverse套件,用dplyr的分组汇总逻辑实现更直观:

library(dplyr)
avg_lap <- Lap_data %>%
  filter(Year %in% 1996:2019) %>%  # 筛选目标年份范围
  group_by(Year) %>%  # 按年份分组
  summarise(avg_seconds = mean(seconds, na.rm = TRUE))  # 分组计算均值
# 提取结果向量
x <- avg_lap$Year
y <- avg_lap$avg_seconds

两种方法对2万行规模的数据都是毫秒级运算,得到的x、y向量可直接用于plot(x,y)、cor(x,y)等后续分析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:36:03