R中的基本滞后TS对象不“工作”

时间:2010-12-08 01:58:40

标签: r time-series

以下是有关我的数据的一些基本信息

> prod.ts
Time Series:
Start = 2009.26027397260 
End = 2010.83719704953 
Frequency = 52 
 [1]  895 1780 1989 1996 1660 1860 1921 2188 1789 1996 2085 2185 2205 2232 2062
[16] 2257 2000 2055 2084 1977 2051 1999 2428 2220 2385 2174 2307 2549 2211 2224
[31] 1922 2091 2318 1986 2080 2069 2106 1998 1480 1841 1819 2119 2109 2072 2206
[46] 1965 2017 2296 1866 2262 2088 2157 2582 2398 2325 1393 2577 2375 2452 2534
[61] 2586 2032 2781 2423 2575 2362 2132 2375 2105 2425 2346 2495 2908 2301 2918
[76] 2426 2633 2312 2472 2305 2622 2662 2626

我很难过为什么这两个是等值的

> length(prod.ts)
[1] 83
> length(lag(prod.ts, 1))
[1] 83

这可能表明我是R和时间序列的新手,但我错过了什么?

提前致谢

2 个答案:

答案 0 :(得分:6)

lag.ts滞后于时间索引。数据没有变化。比较下面的系列glag(g)。请注意,数据相同,但g从1到5,lag(g)从0到4:

> g <- ts(101:105)
> g
Time Series:
Start = 1 
End = 5 
Frequency = 1 
[1] 101 102 103 104 105
> lag(g)
Time Series:
Start = 0 
End = 4 
Frequency = 1 
[1] 101 102 103 104 105

答案 1 :(得分:5)

这就是定义lag()个对象ts的方式。来自help(lag)

lag                   package:stats                    R
Documentation

Lag a Time Series

Description:

     Compute a lagged version of a time series, shifting the time base
     back by a given number of observations.

如果您希望在保留开始和结束时间的同时添加新增功能,请使用xts()zoo()