[R] Assigning values to several consecutives rows in a sequence while leaving some empty

Berend Hasselman bhh at xs4all.nl
Mon Oct 22 10:45:31 CEST 2012

On 22-10-2012, at 06:39, nymphita wrote:

> Hello all,
> I'm trying to group several consecutives rows (and assigning them the same
> value) while leaving some of the rows empty (when a certain condition is not
> fulfilled).
> My data are locations (xy coordinates), the date/time at which they were
> measured, and the time span between measures. Somehow simplified, they look
> like this:
> <http://r.789695.n4.nabble.com/file/n4646956/image1.png> 
> I'd like to assign a value to every sequence of locations that are measured
> within a time span of 4 hours, and make my data look like this:
> <http://r.789695.n4.nabble.com/file/n4646956/image2.png> 

It's better if you insert the data in the mail using dput(). 
Nobody wants to enter data from an image.

Generate your data (partially)

Span <- c(NA,4,8,4,4,8,4,8,16,4,4,12)
sqnc <- ifelse(Span<=4,1,0)

# step by step

y1 <- diff(sqnc)
y2 <- cumsum(c(1,pmax(y1[-1],0)))

# print


# And this seems to give your desired result

Sequence <- ifelse(sqnc==1,c(0,y2),NA)

You could substitute y1 in the expression for y2  and then substitute in the Sequence expression to make the computation more compact.


> I've tried several algorithms with a loop "for" plus "ifelse" condition
> like: 
> Sequence <- for (i in 1:max(ID)) {
>   ifelse (Span <= 4, i+1, "NA")
> }
> without any luck. I know my attempt is incorrect, but my programming skills
> are really basic and I haven't found any similar problem in the web.
> Any ideas would be very appreciated!
> --
> View this message in context: http://r.789695.n4.nabble.com/Assigning-values-to-several-consecutives-rows-in-a-sequence-while-leaving-some-empty-tp4646956.html
> Sent from the R help mailing list archive at Nabble.com.
> ______________________________________________
> R-help at 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.

More information about the R-help mailing list