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 <djnordl...@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@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. > ______________________________________________ R-help@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.