Из вывода dput(Corl)
нам не нужно гадать, как значения Date хранятся в Corl. Как вы можете видеть ниже, даты хранятся как class = "Date". Это делает это довольно легко.
library(zoo)
Corl <- structure(list(Date = structure(c(15155, 15064, 14974, 14882,
14790, 14699), class = "Date"), Survey = c(60L, 55L, 48L, 48L,
56L, 57L), Actual = c(NA, 50L, 44L, 36L, 75L, 41L)), .Names = c("Date",
"Survey", "Actual"), row.names = c(NA, -6L), class = "data.frame")
Corl.zoo <- read.zoo(Corl, FUN=as.yearqtr)
Corl.zoo
Survey Actual
2010 Q1 57 41
2010 Q2 56 75
2010 Q3 48 36
2010 Q4 48 44
2011 Q1 55 50
2011 Q2 60 NA
plot(Corl.zoo)
Изменить 1 ================================================== =========
Прежде чем спросить, вот способ добавить вертикальные линии сетки и больше меток по оси x. Все, что я сделал, это изменил пример кода внизу следующей ссылки:
http://rss.acs.unt.edu/Rdoc/library/zoo/html/plot.zoo.html
my.panel <- function(...) {
lines(...)
#This line adds the vertical grid lines
abline(v=time(Corl.zoo), col="lightgray", lty=3)
panel.number <- parent.frame()$panel.number
# if bottom panel
if (!length(panel.number) || panel.number == NCOL(Corl.zoo)) {
# next line only if non-labelled ticks wanted for each point
axis(1, at = time(Corl.zoo), lab = FALSE)
labcou <- 1 #Put a label, counting between labels
ix <- seq(1, length(Corl.zoo), labcou)
labs <- format(time(Corl.zoo), "%Y\nQ%q\n ")
axis(1, at = time(Corl.zoo)[ix], lab = labs[ix], tcl = -0.5, padj=0.6, cex.axis = 1)
}
}
plot(Corl.zoo, panel = my.panel, xaxt = "n", main="My Title", xlab="")