我有一个stk
函数调用产生的对象getYahooData
,具有以下属性:
class(stk)
给出了
[1] "xts" "zoo"
stk[1]
给出了
Open High Low Close Volume logret
1950-02-28 17.22 17.22 17.22 17.22 1310000 0.9921295
如何获得日期,1950-02-28?
stk[1]$Date
给出了
NULL
如何获得Open,17.22?
stk[1]$Open
给出了
Open
1950-02-28 17.22
答案 0 :(得分:1)
日期是指数(类似于rownames),而不是Open
列的一部分。
使用index
功能提取它们:
library(xts)
data(sample_matrix)
sample.xts <- as.xts(sample_matrix, descr='my new xts object')
head(sample.xts)
# Open High Low Close
#2007-01-02 50.03978 50.11778 49.95041 50.11778
#2007-01-03 50.23050 50.42188 50.23050 50.39767
#2007-01-04 50.42096 50.42096 50.26414 50.33236
#2007-01-05 50.37347 50.37347 50.22103 50.33459
#2007-01-06 50.24433 50.24433 50.11121 50.18112
#2007-01-07 50.13211 50.21561 49.99185 49.99185
index(sample.xts)[1]
#[1] "2007-01-02 CET"
列仍然是xts
对象:
class(sample.xts$Open)
[1] "xts" "zoo"
你可以把它变成原子矢量:
as.vector(sample.xts$Open)[1:5]
#[1] 50.03978 50.23050 50.42096 50.37347 50.24433