Hi, Is there any function to replace colProds that finds column-wise products of a matrix?
Or is there any other function that would give a better solution this problem ? I have a matrix and an array, example: > a GSM1.CEL GSM2.CEL GSM1.CEL 10000_at 1 3 1 10001_at 3 3 3 > b 10000_at 10001_at 1 3 I want to find the number of occurrences of this array within the matrix (which in this case is 2). > a==b gives me: GSM1.CEL GSM2.CEL GSM1.CEL 10000_at TRUE FALSE TRUE 10001_at TRUE TRUE TRUE What I have done is : > colProds(a==b) GSM1.CEL GSM2.CEL GSM1.CEL 1 0 1 > sum(colProds(a==b)) 2 -----> that gives the value of 2 that I want. The problem is: if the matrix "a" is actually a vector (matrix 1xN), the function "colProds" multiply the elements of the row as if it was a column: > a 10000_at 1 > b GSM1.CEL GSM2.CEL GSM1.CEL 1 3 1 > a==b GSM1.CEL GSM2.CEL GSM1.CEL TRUE FALSE TRUE > colProds(a==b) [1] 0 I could use a if length(b==1) find sum(a==b) instead of sum(colProds(a==b)), but I would have to use this condition many time through the code, so I would like to know if there a better way to do that. Thank you very much. Pablo. -- View this message in context: http://r.789695.n4.nabble.com/Rows-index-colProds-tp2325771p2325771.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.