我使用get.hist.quote导入R中的股票数据。但我似乎colname
索引日期as.Date
。
以下是代码:
SPX.prices = get.hist.quote(instrument="^gspc", start="1980-01-01", quote = c("Open", "High", "Low", "AdjClose"), provider="yahoo", origin="1970-01-01", compression="d", retclass="zoo")
这是带有colnames
的第一行的输出 Open High Low AdjClose
1980-01-02 107.9 108.4 105.3 105.8
1980-01-03 105.8 106.1 103.3 105.2
1980-01-04 105.2 107.1 105.1 106.5
1980-01-07 106.5 107.8 105.8 106.8
1980-01-08 106.8 109.3 106.3 109.0
1980-01-09 109.0 111.1 108.4 109.0
非常感谢任何见解!
答案 0 :(得分:0)
你的对象:
library(tseries)
SPX.prices <- get.hist.quote(instrument="^gspc", start="1980-01-01",
quote = c("Open", "High", "Low", "AdjClose"),
provider="yahoo", origin="1970-01-01",
compression="d", retclass="zoo")
索引列属于Date
类。您可以使用time
包中的index
或zoo
来访问这些信息。
class(time(SPX.prices))
# [1] "Date"
library(zoo)
class(index(SPX.prices))
# [1] "Date"
重新格式化日期:
您不应更改zoo
对象的索引,而是将您的信息存储在数据框中:
dat <- cbind(Date = time(SPX.prices), as.data.frame(SPX.prices))
# new format
dat$Date2 <- format(dat$Date, "%d %B %Y")
# [1] "02 January 1980" "03 January 1980" "04 January 1980" ...
您可以按Date
:
# ascending
dat[order(dat$Date), ]
# descending
dat[order(dat$Date, decreasing = TRUE), ]