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