On Oct 20, 2014, at 6:28 AM, Karim Mezhoud wrote: > Genes <- c("ACACA", "BAX" , "BCL2", "BID", "BAX", "MAPK9") > > and a list of group of genes > > ListGroup <- list(group1=c("ACACA" ,"AHSA1" ,"AIMP2" , "AKR1B1", > "AKT1", "AKT1S1"), group2=c("ANXA1" , "AR" , "ARID1A" , > "ATM" , "BAK1" , "BAX" ), group3=c("BCL2" , "BCL2L1" , > "BCL2L11" , "BECN1" , "BID" , "BIRC2"))
Desired: > I would like to built a data frame as: > > ACACA BAX BCL2 BID BAX MAPK9 > group1 1 0 0 0 0 0 > group2 0 1 0 0 1 0 > group3 0 0 1 1 0 0 > > sapply(Genes, function(x) as.numeric(sapply(ListGroup, '%in%', x=x) ) ) ACACA BAX BCL2 BID BAX MAPK9 [1,] 1 0 0 0 0 0 [2,] 0 1 0 0 1 0 [3,] 0 0 1 1 0 0 ?'%in%' The x=x asserts that the x value will be used as the first argument to %in% so ListGroup items will be used as the table arguments. It's a matrix, so as.data.frame would be needed to deliver a dfrm. -- David Winsemius Alameda, CA, 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.