[R] Recode numbers
Dennis Murphy
djmuser at gmail.com
Thu Jun 2 02:28:03 CEST 2011
Hi:
Here's another option:
rep(b, rle(a)$lengths)
> identical(a1, rep(b, rle(a)$lengths))
[1] TRUE
rle(a)$lengths computes a table of the number of consecutive repeats
of a number (or run lengths). It will have the same length as b in
this case. Using rep() with the table of lengths as repetitions gets
the desired result:
> rep(b, rle(a)$lengths)
[1] 1 5 8 8 9 9 14 20 3 10 10 12 6 16 7 11 13 13 17 18 2 4 15 19
HTH,
Dennis
On Wed, Jun 1, 2011 at 10:19 AM, Lisa <lisajca at gmail.com> wrote:
> Dear all,
>
> I have two sets of numbers that look like
>
> a <- c(1, 2, 3, 3, 4, 4, 5, 6, 1, 2, 2, 3, 1, 2, 1, 2, 3, 3, 4, 5, 1, 2, 3,
> 4)
>
> b <- c(1, 5, 8, 9, 14, 20, 3, 10, 12, 6, 16, 7, 11, 13, 17, 18, 2, 4, 15,
> 19)
>
> I just want to use “b” to encode “a” so that “a” looks like
>
> a1<- c(1, 5, 8, 8, 9, 9, 14, 20, 3, 10, 10, 12, 6, 16, 7, 11, 13, 13, 17,
> 18, 2, 4, 15, 19)
>
> Does anyone have a suggestion how to deal with this? Thank you in advance.
>
> Lisa
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Recode-numbers-tp3566395p3566395.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