我正在使用rugarch包中的sp500ret数据:
library(rugarch)
data(sp500ret)
这是(至少我认为是这样)一个数据帧,它给出了回报。 rownames是日期。现在,我想绘制回报和日期,所以
plot(dates,sp500ret)
但当然,这不起作用,因为未指定日期,但我如何将rownames用作相应的日期?
注意:我不确定这一点,但我读了一些关于xts文件的内容。这是一个xts文件,如何在这种情况下绘制它?
编辑: 我想过这样的事情,但它不起作用:
plot(as.Date(rownames(sp500ret), "%Y%m%d"),sp500ret)
第二次编辑:
plot(rownames(sp500ret),sp500ret[,1])
也不起作用。
答案 0 :(得分:2)
将rownames转换为如下日期:
library(rugarch)
data(sp500ret)
my.dates <- strptime(rownames(sp500ret), format="%Y-%m-%d")
plot(my.dates,sp500ret$SP500RET, xlab="Date", las=1, col="steelblue", pch=20)
# Or faster
plot(as.Date(rownames(sp500ret),"%Y-%m-%d"),sp500ret[,1])
# To specify custom x-axis
par(mar=c(7, 4, 4, 2) + 0.1, bg="white", cex=1.5) # extend margin
plot(my.dates,sp500ret$SP500RET, xlab="", las=1, col="steelblue", pch=20, xaxt="n")
axis.Date(1, at=seq(my.dates[1], my.dates[length(my.dates)], "years"),
labels=seq(my.dates[1], my.dates[length(my.dates)], "years"),
format= "%Y-%m-%d", las=2)