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

R语言对nycflights13的planes数据按引擎和制造商分组求生产年份极值

解决方案

你之前使用的table()仅支持频次统计,无法直接计算描述性统计量;tapply()更适配单分组变量场景,双分组场景下实现该需求会比较繁琐,以下是两种可行实现方案:

方案1:tidyverse生态dplyr实现(推荐,语法更直观)

# 加载依赖包
library(nycflights13)
library(dplyr)

# 分组统计
planes_stat <- planes %>%
  group_by(engine, manufacturer) %>%
  summarise(
    最早生产年份 = min(year, na.rm = TRUE),
    生产年份中位数 = median(year, na.rm = TRUE),
    最晚生产年份 = max(year, na.rm = TRUE),
    .groups = "drop" # 统计完成后自动取消分组
  )

# 查看结果前几行
head(planes_stat)

参数na.rm = TRUE用于忽略生产年份的缺失值,避免统计结果返回NA,如果你需要过滤掉所有生产年份为空的分组,可以在group_by前添加filter(!is.na(year))代码段。

方案2:基础R实现(无需额外安装第三方包)

library(nycflights13)
data(planes)

planes_stat <- aggregate(
  year ~ engine + manufacturer, # 格式为「统计变量~分组变量」
  data = planes,
  FUN = function(x) c(
    最早生产年份 = min(x, na.rm = TRUE),
    生产年份中位数 = median(x, na.rm = TRUE),
    最晚生产年份 = max(x, na.rm = TRUE)
  )
)

# 查看结果前几行
head(planes_stat)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 15:45:02