[R] select previous date

Ben Rich richmcb at gmail.com
Thu Aug 18 18:14:55 CEST 2005


You can try this:

dates <- df$date[df$temp==15]
one.month.before <- sapply(strsplit(dates, "-"), function(x)
paste(x[1], sprintf("%02d", as.numeric(x[2])-1), x[3], sep="-"))
df[df$date %in% one.month.before,]

Ben

On 8/18/05, alessandro carletti <alxmilton at yahoo.it> wrote:
> Hi everybody,
> could anyone help me in finding a way for selecting
> from a dataframe each row that comes before another
> that matches a condition?
> 
> EXAMPLE:
> df
> raw.number  name     date      temp
> 1            aaa   2001-04-15   15
> 2            aaa   2001-01-15   12
> 3            aaa   2001-03-15   13
> ...
> i-1          bbb   2002-04-15   15
> i            bbb   2002-03-15   14
> 
> the condition is:
> df$temp==15
> matching raws are 1 and i-1:
> I need something to select (only) rows where date=one
> month before the matching raws, so raws 3 and i.
> (the variable name has more than one level)
> Thanks
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>




More information about the R-help mailing list