There has to be a better (more readable) way, but this works... > set.seed(323) > foo.df <- data.frame(A = round(runif(5)), B = round(runif(5)), C = round(runif(5))) > foo.df A B C 1 0 1 1 2 1 1 1 3 1 1 1 4 0 1 1 5 1 1 0 > names.list <- lapply( apply( foo.df, 1, function( x ) colnames( foo.df )[ as.logical( x ) ] ), paste, collapse = ", " ) > names.vect <- unlist(names.list) > foo.df A B C 1 0 1 1 2 1 1 1 3 1 1 1 4 0 1 1 5 1 1 0 > names.vect 1 2 3 4 5 "B, C" "A, B, C" "A, B, C" "B, C" "A, B" >
Those nested applies make my head hurt. HTH, Andy > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of Henrik Andersson > Sent: Tuesday, November 23, 2004 10:41 AM > To: [EMAIL PROTECTED] > Subject: [R] Create a vector of combinations based on a table column > names > > > I want to create a character vector based on the table (shortened for > display) below: > Where there are ones in the matrix I want the column name to appear and > where there are zeros nothing, which would make the vector in this > shortened case: > > combinations <- ("A B","A C","A E H","A F G","B C D","E G H",A C D E > H","A C D F G") > > no value A B C D E F G H > 1 2 3.095 1 1 0 0 0 0 0 0 > 2 2 1.687 1 0 1 0 0 0 0 0 > 46 3 3.470 1 0 0 0 1 0 0 1 > 47 3 1.563 1 0 0 0 0 1 1 0 > 50 3 6.234 0 1 1 1 0 0 0 0 > 148 4 3.663 0 0 1 0 1 0 1 1 > 151 4 3.470 0 0 0 1 1 1 0 1 > 177 5 5.411 1 0 1 1 1 0 0 1 > 178 5 6.829 1 0 1 1 0 1 1 0 > > Question is how to make this not so manually? > > --------------------------------------------- > Henrik Andersson > Netherlands Institute of Ecology - > Centre for Estuarine and Marine Ecology > P.O. Box 140 > 4400 AC Yerseke > Phone: +31 113 577473 > [EMAIL PROTECTED] > http://www.nioo.knaw.nl/ppages/handersson > > ______________________________________________ > [EMAIL PROTECTED] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html > ______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html