Hello,

Try the following.


dat <- read.table(text="
        date    y
1 2010-09-27 1356
2 2010-10-04 1968
3 2010-10-11 2602
4 2010-10-17 3116
5 2010-10-24 3496
6 2010-10-31 3958
", header=TRUE, stringsAsFactors=FALSE)

dat$date <- as.Date(dat$date)
str(dat)
search <- as.Date("2010-10-06")
max(which(dat$date <= search))
dat$y[ix]


Hope this helps,

Rui Barradas

Em 19-07-2012 08:42, Robert Latest escreveu:
Hello all,

I have a dataframe that looks like this:

head(df)
         date    y
1 2010-09-27 1356
2 2010-10-04 1968
3 2010-10-11 2602
4 2010-10-17 3116
5 2010-10-24 3496
6 2010-10-31 3958

I need a function that, given any date, returns the y value
corresponding to the given date or the last day before the given date.

Example:

Input: as.Date("2010-10-06"). Output: 1968 (because the last value is
from 2010-10-04)

I've been tinkering with this for an hour now, without success. I
think the solution is either surprisingly complicated or surprisingly
simple.

Thanks,
robert

______________________________________________
R-help@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.


______________________________________________
R-help@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.

Reply via email to