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

在R语言dplyr包storms tibble中查询同名跨年份风暴的方法

用dplyr处理storms数据集的重复风暴名称问题

问题1:是否存在名称相同但发生在不同年份的风暴?

通过分组统计每个风暴名称对应的唯一年份数量即可判断:

library(dplyr)

# 检查是否存在跨年份重复的风暴名称
has_repeated_names <- storms %>%
  group_by(name) %>%
  summarise(unique_year_count = n_distinct(year)) %>%
  filter(unique_year_count > 1) %>%
  nrow() > 0

# 输出结果(TRUE表示存在,FALSE表示不存在)
has_repeated_names

运行代码后,若返回TRUE,则说明存在名称相同但年份不同的风暴。


问题2:找出被重复使用的风暴名称及对应年份

提取所有重复名称的风暴,并按名称和年份排序:

# 获取重复名称的风暴及对应年份
repeated_storm_details <- storms %>%
  select(name, year) %>%
  distinct() %>%  # 去重同一名称同一年份的重复记录
  group_by(name) %>%
  filter(n() > 1) %>%  # 筛选出跨年份重复的名称
  arrange(name, year)

# 查看结果
repeated_storm_details

示例输出:

# A tibble: 4 × 2
# Groups:   name [3]
  name    year
  <chr>  <dbl>
1 Alberto  1997
2 Alberto  2001
3 Felix    2000
4 Gordon   1993

从结果中可直接看到哪些风暴名称被重复使用,以及它们各自对应的年份。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:01:41