[R] Group by multiple variables
baptiste auguie
baptiste.auguie at googlemail.com
Mon May 30 23:54:39 CEST 2011
Hi,
There are probably much better ways, but try this
transform(dat, group = as.numeric(factor(paste(A,B,C, sep=""))))
HTH,
baptiste
On 31 May 2011 09:47, Mendolia, Franco <fmendolia at mcw.edu> wrote:
> Hello,
>
> I would like to create a group variable that is based on the values of three variables:
>
> For example,
>
>> dat <- data.frame(A=c(1,1,1,1,1,2,2,2,2,2),
> B=c(1,1,1,5,5,5,9,9,9,9),
> C=c(1,1,1,1,1,2,2,7,7,7))
>> dat
> A B C
> 1 1 1 1
> 2 1 1 1
> 3 1 1 1
> 4 1 5 1
> 5 1 5 1
> 6 2 5 2
> 7 2 9 2
> 8 2 9 7
> 9 2 9 7
> 10 2 9 7
>
> All rows that that are equal, belong to the same group, that is I would like to create a group variable like this:
>
> A B C group
> 1 1 1 1 1
> 2 1 1 1 1
> 3 1 1 1 1
> 4 1 5 1 2
> 5 1 5 1 2
> 6 2 5 2 3
> 7 2 9 2 4
> 8 2 9 7 5
> 9 2 9 7 5
> 10 2 9 7 5
>
> Is there an easy way to do this? Right now I use a bunch of loops and that seems rather cumbersome. In general, my data set is rather large and the number of categories per variable is not always fixed.
>
> Franco
> ______________________________________________
> 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