[R] how to combine multiple indicator variables in a single factor

Daniel Nordlund djnordlund at verizon.net
Fri Dec 18 23:49:12 CET 2009


Thanks to Ehud Cohen and William Dunlap for their assistance.  Both solutions worked and were helpful.

Dan

Daniel Nordlund
Bothell, WA USA

> -----Original Message-----
> From: ehud cohen [mailto:ehudco.list at gmail.com]
> Sent: Friday, December 18, 2009 1:05 PM
> To: Daniel Nordlund
> Cc: r-help at r-project.org
> Subject: Re: [R] how to combine multiple indicator variables in a single
> factor
> 
> you can try:
> 
> df$f<-names(df)[apply(df,1,function(x) which(x==1))]
> 
> Ehud
> 
> On Fri, Dec 18, 2009 at 10:48 PM, Daniel Nordlund
> <djnordlund at verizon.net> wrote:
> > Say I have a dataframe like this:
> >
> > df <- data.frame(cbind(c(1,0,0,1),c(0,1,0,0),c(0,0,1,0)))
> >
> > names(df) <- c('a','b','c')
> >
> > I would like to create a factor in a new column, where the factor values
> are taken from the column names, like this:
> >
> >> df2
> >  a b c f
> > 1 1 0 0 a
> > 2 0 1 0 b
> > 3 0 0 1 c
> > 4 1 0 0 a
> >
> > How would I do this?  Thanks,
> >
> > Dan
> >
> > Daniel Nordlund
> > Bothell, WA USA
> >
> > ______________________________________________
> > 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