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

基于日序创建ts对象,解决Seasonal Kendall趋势测试NA结果问题

解决wql::seaKen中斜率/ p值为NA/NaN的问题:正确构造日序ts对象

问题核心

seaKen要求输入的ts对象必须明确指定季节频率——对于你的每日数据,季节就是“日序(DOY)”,因此需要将frequency设为一年的天数(通常365,闰年可设366),确保每个日序对应3个年度观测能被函数正确识别。

步骤1:整理数据结构

假设你的数据框df包含三列:date(日期)、doy(1-365的日序)、value(观测值),且每个doy恰好有3条年度数据。

步骤2:正确构造ts对象

关键是指定start(起始年份+起始日序)和frequency(年天数):

# 示例:假设数据起始于2021年1月1日
ts_obj <- ts(df$value, 
             start = c(2021, 1),  # 起始年份+起始日序(1=1月1日)
             frequency = 365)     # 每年365个季节(每个日序对应一个季节)

步骤3:运行Seasonal Kendall测试

library(wql)
sk_result <- seaKen(ts_obj)
print(sk_result)

关键注意事项

  • 闰年处理:如果包含闰年,可统一使用frequency=366,或为非闰年的第366天补NA,确保每个季节(日序)的观测数一致(3个)。
  • 缺失值检查:若某个日序的观测不足3个,seaKen会返回NA/NaN,需提前清理数据,保证每个日序有完整的3年数据。
  • 避免错误的频率设置:不要使用默认的frequency=12(月度),否则函数会将数据按月度分组,完全不符合你的日序分析需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:52:16