Thankyou for your reply Gabor.
Your code helped me get started in creating id for each week of month. What I'm really looking for though is a more general application where I can extract each final week of the month conditional on the pattern of values (simply plus or minus signs) of the weeks preceding it in that month (i didnt really explain that in my previous post). For example, with the data below: Date Value Sign Week 2005-02.4 2005-02-04 1.67427972 1 1 2005-02.5 2005-02-11 0.00000000 0 2 2005-02.6 2005-02-18 0.14221382 1 3 2005-02.7 2005-02-25 -0.85633254 -1 4 2005-03.8 2005-03-04 2.22073856 1 1 2005-03.9 2005-03-11 -0.07011803 -1 2 2005-03.10 2005-03-18 1.00035730 1 3 2005-03.11 2005-03-25 -2.48430869 -1 4 2005-04.12 2005-04-01 -0.04747211 -1 1 2005-04.13 2005-04-08 0.18975338 1 2 2005-04.14 2005-04-15 -3.54552994 -1 3 2005-04.15 2005-04-22 0.51426586 1 4 2005-04.16 2005-04-29 -1.52599565 -1 5 if I wanted to show the last week of any months where the pattern of the signs of the three preceding weeks was "1,-1,1" , then the following would be returned: Date Value Sign Week 2005-03.11 2005-03-25 -2.48430869 -1 4 2005-04.16 2005-04-29 -1.52599565 -1 5 I would greatly appreciate any hint or example which might lead me the right way on this. Thankyou, Alf Sammassimo ----- Original Message ----- From: "Gabor Grothendieck" <[EMAIL PROTECTED]> To: "Alfonso Sammassimo" <[EMAIL PROTECTED]> Cc: <r-help@stat.math.ethz.ch> Sent: Monday, April 23, 2007 2:31 PM Subject: Re: [R] Help on manipulating a data frame > Do you mean you want to return the first row for each mont for > which the value > 0? > > In that case try this. The first group of lines recreates your > data frame and calls it DF. by causes f to operate on a subset of > rows comprising one month extracting the first row for which > the value is positive and also adding in the week number. > do.call rbinds the results from each month altogether. > > Input <- "2007-01-05 -1.52377151 > 2007-01-12 1.04787390 > 2007-01-19 0.61647047 > 2007-01-26 1.87864283 > 2007-02-02 0.54992405 > 2007-02-09 1.96850069 > 2007-02-16 0.26850159 > 2007-02-23 1.56305144 > 2007-03-02 -4.19500573 > 2007-03-09 0.77127814 > 2007-03-16 0.32387312 > 2007-03-23 2.02163219 > 2007-03-30 0.63175605 > 2007-04-06 1.33346284 > 2007-04-13 0.96021569" > DF <- read.table(textConnection(Input), col.names = c("Date", "Value"), > colClasses = c("Date", "numeric")) > > f <- function(x) cbind(x, Week = seq_len(nrow(x)))[which.max(x$Value > > 0),] > do.call("rbind", by(DF, format(DF$Date, "%Y-%m"), f)) > > On 4/22/07, Alfonso Sammassimo <[EMAIL PROTECTED]> wrote: >> Hi R-experts, >> >> >> >> I have a large set of weekly data in this format: >> >> >> >> 2007-01-05 -1.52377151 >> 2007-01-12 1.04787390 >> 2007-01-19 0.61647047 >> 2007-01-26 1.87864283 >> 2007-02-02 0.54992405 >> 2007-02-09 1.96850069 >> 2007-02-16 0.26850159 >> 2007-02-23 1.56305144 >> 2007-03-02 -4.19500573 >> 2007-03-09 0.77127814 >> 2007-03-16 0.32387312 >> 2007-03-23 2.02163219 >> 2007-03-30 0.63175605 >> 2007-04-06 1.33346284 >> 2007-04-13 0.96021569 >> >> >> >> How might this data be sorted to something like this?: >> >> >> >> Date Week of Month Value >> >> 2007-01-05 1 -1.52377151 >> 2007-01-12 2 1.04787390 >> 2007-01-19 3 0.61647047 >> 2007-01-26 4 1.87864283 >> >> 2007-02-02 1 0.54992405 >> >> >> >> My aim is to return the last value of every month where the previous >> values >> in that month were negative values, hence the need to split the data by >> month. Any guide as to how this might this be possible without a loop? >> >> >> >> Any help would be much appreciated. >> >> >> >> Thanks, >> >> >> >> Alf Sammassimo >> >> Melbourne, Australia >> >> ______________________________________________ >> R-help@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 >> and provide commented, minimal, self-contained, reproducible code. >> > ______________________________________________ R-help@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 and provide commented, minimal, self-contained, reproducible code.