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

R语言中如何检测时间序列数据中的缺失年份?

R 实现连续年份序列缺失值识别

现有存储年份信息的列取值为:

2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020, 2021, 2022

需要识别该时间序列区间内存在的缺失年份,本示例预期输出缺失的2016年。

可直接运行的Base R代码

不需要安装任何第三方包,原生R环境即可执行:

# 读入现有年份数据,若数据存放在数据框中,替换为对应列即可,例如 df$year
year_col <- c(2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020, 2021, 2022)

# 生成从最小年份到最大年份的连续完整年份序列
full_seq <- seq(from = min(year_col, na.rm = TRUE), to = max(year_col, na.rm = TRUE), by = 1)

# 取差集得到缺失年份
missing_year <- setdiff(full_seq, year_col)

结果验证

执行代码后查看missing_year变量,返回结果为2016,和预期一致。

注意事项

  • 代码中加入了na.rm = TRUE参数,若原始年份列存在空值会自动忽略,不影响范围计算
  • 该方法同样适用于识别月份、连续序号等步长为1的整数序列缺失值
  • 如果时间序列步长不是1(例如每2年统计一次),只需要修改seq()函数里的by参数为对应步长即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 00:36:17