[R] Matrix Indexing
Gabor Grothendieck
ggrothendieck at myway.com
Mon Nov 8 05:38:50 CET 2004
Kim Fai Wong <gokim19 <at> hotmail.com> writes:
:
: Hi,
:
: I have the following problem.
: In a csv file I have under column A, the date, and column B, the prices.
: Thus, for example, the file looks something like this ->
:
: 1/31/04 2.5
: 2/1/04 2.6
: ...
: 4/12/04 3.5
:
: Basically, I use the function inputframe = read.csv( )
: which reads the csv file into the inputframe.
:
: My question is, how can I make a function that has, as inputs, start_date
: and end_date,
: so that the inputframe would not return all of these prices but only the
: ones during the
: period I input?
:
: For example, if I input 3/1/04 and 3/11/04, the inputframe only contains the
: prices for
: this period.
:
: Any help is appreciated!!
:
Note that read.csv produces data frames, not matrices. Lets
assume your data frame is called DF.
First make sure your A column is actually stored as some sort
of date object and not as a factor or character string. You may
need something like this if its not. (We are using chron here
since m/d/y is its default format so its particularly
consistent with your data.):
library(chron)
DF$A <- chron(as.character(DF$A))
Now use subset:
DF2 <- subset(DF, A >= chron("3/1/04") & A <= chron("3/11/04"))
You could alternately use Date class. See R News 4/1 for an
article about all this.
More information about the R-help
mailing list