[R] Help with Dates

Alex Park alex.park1 at ntlworld.com
Thu Jul 19 21:35:25 CEST 2007


R 

I am taking an excel dataset and reading it into R using read.table.
(actually I am dumping the data into a .txt file first and then reading data
in to R).

Here is snippet:

> head(data); 
       Date  Price Open.Int. Comm.Long Comm.Short net.comm
1 15-Jan-86 673.25    175645     65910      28425    37485
2 31-Jan-86 677.00    167350     54060      27120    26940
3 14-Feb-86 680.25    157985     37955      25425    12530
4 28-Feb-86 691.75    162775     49760      16030    33730
5 14-Mar-86 706.50    163495     54120      27995    26125
6 31-Mar-86 709.75    164120     54715      30390    24325

The dataset runs from 1986 to 2007.

I want to be able to take subsets of my data based on date e.g. data between
2000 - 2005.

As it stands, I can't work with the dates as they are not in correct format.

I tried successfully converting the dates to just the year using:

transform(data, Yr = format(as.Date(as.character(Date),format = '%d-%b-%y'),
"%y")))

This gives the following format:

       Date  Price Open.Int. Comm.Long Comm.Short net.comm Yr
1 15-Jan-86 673.25    175645     65910      28425    37485 86
2 31-Jan-86 677.00    167350     54060      27120    26940 86
3 14-Feb-86 680.25    157985     37955      25425    12530 86
4 28-Feb-86 691.75    162775     49760      16030    33730 86
5 14-Mar-86 706.50    163495     54120      27995    26125 86
6 31-Mar-86 709.75    164120     54715      30390    24325 86

I can subset for a single year e.g:

head(subset(df, Yr =="00")

But how can I subset for multiple periods e.g 00- 05? The following won't
work:

head(subset(df, Yr =="00" & Yr=="01")

or

head(subset(df, Yr = c("00","01","02","03")

I can't help but feeling that I am missing something and there is a simpler
route.

I leafed through R newletter 4.1 which deals with dates and times but it
seemed that strptime and POSIXct / POSIXlt are not what I need either.

Can anybody help me?

Regards


Alex



More information about the R-help mailing list