R语言时间序列创建:frequency参数设置与绘图年份异常咨询
R语言时间序列frequency参数设置问题
你在R语言中尝试创建时间序列,数据覆盖2015-2021年,每年包含36条观测值,总计756条观测值。当前设置frequency=108后,生成的绘图显示年份至2040,需要调整参数让年份显示到2021。
你的数据结构与代码示例:
df_new2 <- structure(list(Year = c(2015, 2015, 2015, 2015, 2015, 2015), Age = c(3, 3, 3, 3, 3, 3), Race = c(2, 2, 2, 2, 2, 2), Gender = c(1, 1, 1, 1, 1, 1), Life_expectancy = c(71.2, 70.8, 66.9, 62, 57.1, 52.3)), row.names = c(NA, 6L), class = "data.frame") library(fpp2) timeseries <- ts(df_new2[,5], start=c(2015,1), frequency = 108) plot(timeseries)
正确的frequency参数设置
正确的frequency参数应设置为36。
原因说明
- 在
ts()函数中,frequency的核心作用是定义每年包含的观测值数量。你的数据每年固定有36条观测记录,因此将该参数设为36,才能让R正确识别你的时间序列周期。 - 此前设置
frequency=108时,R会错误地认为每年有108个观测点,756条数据会被计算为756/108=7个完整年份,导致时间轴延伸超出2021年,与你需要的时间跨度不符。
修正后的代码
library(fpp2) # 基于完整的756条2015-2021年数据创建时间序列 timeseries <- ts(df_new2[,5], start=c(2015,1), frequency = 36) plot(timeseries)
设置完成后,R会正确解析时间序列的跨度:从2015年第1个观测点开始,到2021年第36个观测点结束,绘图的年份轴将准确显示至2021年。
内容的提问来源于stack exchange,提问作者Priscilla Raj
相关产品推荐
相关产品推荐

