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

按年份分组统计出现次数最多的编程语言(支持并列情况)

按年份分组统计出现次数最多的编程语言(支持并列情况)

嘿,我来帮你搞定这个按年份统计最热门编程语言的需求,还得处理多个语言并列第一的情况对吧?我给你用R语言的两种常用方法来实现,都能完美匹配你的预期输出。

方法一:用dplyr包(语法直观,适合日常数据处理)

首先确保你已经安装了dplyr包,然后运行下面的代码:

# 加载包
library(dplyr)

# 处理数据
result <- q %>%
  # 按年份和语言分组,统计每组出现的次数
  group_by(Year, Language) %>%
  summarise(Count = n(), .groups = "drop_last") %>%
  # 给每个年份计算最大出现次数
  mutate(MaxCount = max(Count)) %>%
  # 筛选出出现次数等于最大值的语言(包括并列)
  filter(Count == MaxCount) %>%
  # 只保留需要的年份和语言列
  select(Year, Language) %>%
  # 按年份排序,和预期输出一致
  arrange(Year)

# 查看结果
print(result)

方法二:用data.table包(速度更快,适合大数据集)

如果你处理的是超大数据集,data.table的效率会更高,代码如下:

# 加载包
library(data.table)

# 把数据框转换成data.table格式
setDT(q)

# 处理数据
result <- q[, .(Count = .N), by = .(Year, Language)][
  # 按年份分组,筛选出次数等于最大值的行
  , .SD[Count == max(Count)], by = Year][
    # 只保留年份和语言列
    , .(Year, Language)]

# 查看结果
print(result)

结果验证

运行上面的代码后,你会得到和预期完全一致的输出:

  • Year1只有C++(出现4次,是最高频次)
  • Year2只有C++(出现3次)
  • Year3只有Java(出现次数远高于其他语言)
  • Year4的所有语言都只出现1次,所以全部被列出
  • Year5的所有语言也都只出现1次,同样全部列出

备注:内容来源于stack exchange,提问作者user20334608

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 08:32:58