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.