[R] Simple time series questions

Gabor Grothendieck ggrothendieck at gmail.com
Fri Sep 11 16:03:43 CEST 2009


Here it is using zoo and classic graphics.

1. Just paste this into your R session:

library(zoo)

URL <- "http://www.nabble.com/file/p25398419/test%2Bchart%2Bdata.csv"
z <- read.zoo(URL, header = TRUE, format = "%d-%m-%y", sep = ",")

cols <-  c("green", "red", "blue")
plot(z, screen = 1, col = cols)

# 2. Or try this fancier version using the same code
# replacing the plot statement above with all this

plot(z, screen = 1, col = cols, xaxt = "n")

legend("topleft", c("A", "B", "C"), col = cols, lty = 1)

# fancy X axis (code is from ?plot.zoo page)
ym <- as.yearmon(time(z))
mon <- as.numeric(format(ym, "%m"))
yy <- format(ym, "%y")
mm <- substring(month.abb[mon], 1, 1)
Axis(side = 1, at = time(z)[mon == 1], labels = yy[mon == 1], cex.axis = 0.7)
Axis(side = 1, at = time(z)[mon > 1], labels = mm[mon > 1], cex.axis =
0.5, tcl = -0.3)

abline(v = time(z)[mon == 1], col = grey(0.9))
abline(h = axTicks(2), col = grey(0.9))

On Fri, Sep 11, 2009 at 9:07 AM, DKOD <koday at processtrends.com> wrote:
>
> Try this script. I converted test_date to numeric decimal year
>
> link <- "C:\\R_Home\\Charts & Graphs Blog\\R_Chart_Doc\\text_data.csv"
>  testdata<- read.table(link, head = T, sep = ",",na.strings = "na")
>  test_date = as.Date(testdata$Date,"%d-%m-%y")
>
> # Convert dates to decimal year
>  my_yr <- as.numeric(format(test_date,format="%Y"))
>  my_mo <- as.numeric(format(test_date, format="%m"))
>  dec_yr <- my_yr + (my_mo+0.5)/12
>
>  plot(dec_yr, testdata$Model, type="l", log="y", xaxs="i", yaxs="i",
>     axes=T, xlim = c(2003, 2008))
>  points(dec_yr, testdata$BaseDataA, type = "l", col = "red")
>  points(dec_yr, testdata$BaseDataB, type = "l", col = "blue")
>  grid( col="grey",lty=1)
>  box()
>
> Kelly
>
> http://chartsgraphs.wordpress.com http://chartsgraphs.wordpress.com
>
>
> gug wrote:
>>
>> Thanks - that works great.
>>
>> Do you have any suggestions about the grid() problem - i.e. that the
>> vertical gridlines do not line up with the x-axis tickmarks (which are
>> years)?
>>
>> I can't see on what basis the vertical gridlines are being positioned, but
>> it doesn't look good that they are not lined up with anything.
>>
>> Thanks,
>>
>> Guy
>>
>>
>> DKOD wrote:
>>>
>>> This script worked for me. Be sure to put in your correct link.
>>>
>>>   link <- "C:\\R_Home\\Charts & Graphs Blog\\R_Chart_Doc\\text_data.csv"
>>>   testdata<- read.table(link, head = T, sep = ",",na.strings = "na")
>>>   test_date = as.Date(testdata$Date,"%d-%m-%y")
>>>
>>>   plot(test_date, testdata$Model, type="l", log="y")
>>>   points(test_date, testdata$BaseDataA, type = "l", col = "red")
>>>   points(test_date, testdata$BaseDataB, type = "l", col = "blue")
>>>
>>> You add 2nd and 3rd series with points command
>>>
>>> Hope this helps.
>>>
>>> Kelly
>>>
>>>  http://chartsgraphs.wordpress.com http://chartsgraphs.wordpress.com
>>>
>>>
>>
>>
>
> --
> View this message in context: http://www.nabble.com/Simple-time-series-questions-tp25398419p25400652.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>




More information about the R-help mailing list