[R] Plotting Time against Date for time series data?

Slist slist at oomvanlieshout.net
Mon May 17 15:13:29 CEST 2004


Dear all,

I have a data set containing GPS fixes of animal locations. To check that 
the GPS's are working properly, I would like to plot the time of the fixes 
(y-axis) against the date of the fixes (x-axis). If all works well, the 
plot should show four regular fixes per day. The x-axis should be labelled 
with month/year (i.e. 11/04) and the y-axis by hour from 00 to 24. I would 
like to control the x-axis limits.

I have looked at several date and time related help pages, but get horribly 
lost in all the terminology. The main challenge is to isolate date and time 
from the date/time object for plotting (marked ???). Therefore, I would 
like the following example code to work:

 >
 >
dates <- c("02/27/92", "02/27/92", "01/14/92", "01/14/92", "03/28/92", 
"03/28/92") #
times <- c("23:03:20", "10:29:56", "01:03:30", "13:03:30", "18:21:03", 
"06:56:26") #
x <- paste(dates, times) #
DateTime <- strptime(x, "%m/%d/%y %H:%M:%S") #

Date <- DateTime ??? #
Time <- DateTime ??? #
plot(x=Date, y=Time,
         xlab= "Date (month/year)", ylab= "Time (hours)", xaxt="n", yaxt="n",
         xlim=c(as.Date("01/01/92", format="%m/%d/%y"), as.Date("04/01/92", 
format="%m/%d/%y")),
         ylim=c(0, 24)
         ) #
r <- as.POSIXct(round(range(Date), "days")) #
axis.POSIXct(1, at=seq(r[1], r[2], by="month"), format="%m/%y") #
r <- as.POSIXct(round(range(Time), "hours")) #
axis.POSIXct(2, at=seq(r[1], r[2], by="hour"), format="%H") #
 >
 >

Thanks for any suggestions,

Sander Oom.



--------------------------------------------------------------
Dr. Sander P. Oom
Animal, Plant and Environmental Sciences
University of the Witwatersrand
Private Bag 3
Wits 2050
South Africa

Tel (work)      +27 (0)11 717 64 04
Tel (home)      +27 (0)18 297 44 51
Fax             +27 (0)18 299 24 64

Email   sander at oomvanlieshout.net
Web     www.oomvanlieshout.net/sander




More information about the R-help mailing list