R:window()函数
我有一个名为R:window()函数,r,window,R,Window,我有一个名为x的矩阵,如下所示: pTime Close 1 1275087600 1.2268 2 1275264000 1.2264 3 1275264300 1.2265 4 1275264600 1.2268 5 1275264900 1.2265 6 1275265200 1.2265 7 1275265500 1.2270 8 1275265800 1.2269 9 1275266100 1.2268 10 1275266400 1.2275 ..
x
的矩阵,如下所示:
pTime Close
1 1275087600 1.2268
2 1275264000 1.2264
3 1275264300 1.2265
4 1275264600 1.2268
5 1275264900 1.2265
6 1275265200 1.2265
7 1275265500 1.2270
8 1275265800 1.2269
9 1275266100 1.2268
10 1275266400 1.2275
...1000 rows
我用tseraba将其转换为时间序列数据类型(mts[2000]
)
时间
“2010-05-31 01:15:00美国东部时间”
>B
时间
“2010-05-31 01:30:00美国东部时间”
>窗口(tser[,1],A,B)
窗口中出错。默认值(x,…):“开始”不能在“结束”之后
此外:警告信息:
在窗口中。默认值(x,…):“结束”值未更改
有什么提示吗?创建时间序列对象时,
ts
函数希望第一个参数是数据,没有时间。(您可能还是想使用zoo对象。它们更有意义。)看看这会发生什么:
> window(tser[,1],start=5,end=8)
Time Series:
Start = 5
End = 8
Frequency = 1
[1] 1275264900 1275265200 1275265500 1275265800
您的日期(以数字表示)已成为数据
要使用动物园,这很简单。我不确定你的出发点是什么。我把数据放在一个数据框里。如果您确实有一个矩阵(我对此表示怀疑,因为它看起来不像矩阵对象的输出),您可以使用“[row,col]”访问方式
require(zoo)
zooser <- zoo(x=tser$Close, order.by=as.POSIXct(tser$pTime, origin="1970-01-01"))
window(zooser, start=A, end=B)
#2010-05-31 01:15:00 2010-05-31 01:20:00 2010-05-31 01:25:00
# 1.2265 1.2265 1.2270
#2010-05-31 01:30:00
# 1.2269
require(动物园)
zooser我明白了-谢谢。。。对于动物园的物品,有没有一种方法可以有效地做我想做的事情?我需要能够访问基于开始和结束POSIX时间戳的时间窗口。是的<代码>动物园对象
有一个窗口
方法。我将添加一个示例。
require(zoo)
zooser <- zoo(x=tser$Close, order.by=as.POSIXct(tser$pTime, origin="1970-01-01"))
window(zooser, start=A, end=B)
#2010-05-31 01:15:00 2010-05-31 01:20:00 2010-05-31 01:25:00
# 1.2265 1.2265 1.2270
#2010-05-31 01:30:00
# 1.2269