On Jul 21, 2011, at 6:12 PM, Q wrote:

Hello all,

I'm trying to find all combinations of 4 numbers that satisfy 4 criteria, inside of a matrix (62 x 25). I've found a way to do this using for loops,
but it is extremely slow because it involves checking every possible
combination of numbers (567300) to see if the criteria are satisfied. Do you think there is a faster method of doing this? Or some functions that
might help me out?

The matrix is of species abundances, with each row representing a species (A,B,C...) and each column representing a site (1,2,3...). The numbers in
the matrix tell the abundance of the species at that site:



   1  2  3...
A  0  5  6...
B  7  8  2...
C  4  1  3...
...


I'm trying to find combinations of species/sites such that
A1>B1,A1>A2,B2>B1,B2>A2

I have used expand.grid to get all combinations of species pairs and site pairs, and then checked to see if the inequalities are satisfied. However,
as I said, it takes forever.

I tried to write a function that would take vectors and trick R into
searching for my pattern:



count <- function(i,j,k,l){
length(matrix[matrix[i,k] > matrix[i,l] &&
matrix[i,k] > matrix[j,k] &&
matrix[j,l] > matrix[j,k] &&
matrix[j,l] > matrix[i,l]])
}


That didn't work. So I wonder if anyone has any ideas of another way to
proceed or functions I could look up that would head me in the right
direction.

My idea:

Build a small test set that contains sufficient complexity to represent you problem and work with that. Then, when you get ready to post another letter to rhelp you will be able to present the problem explicitly by using dput() on your objects and show what kind of errors are preventing execution.

(I am giving up on creating examples for people unless it is trivial.)

My own experience is that usually when I take that step with problems I am considering asking for assistance, the problem "solves itself" in the process of constructing the posting. I would be embarrassed to post an example that looked like;

   1  2  3...
A  0  5  6...
B  7  8  2...
C  4  1  3...
...


That's not an example. It may be a puzzle of sorts, but it is _not_ a reproducible example.

 Something fully fleshed out isn't necessary.

But something reproducible is ...  (or should be.)

--

David Winsemius, MD
West Hartford, CT

______________________________________________
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.

Reply via email to