You are putting your results back into "A" which might change things as you execute. This might be a faster way:
result <- matrix(NA,dim(A)[1], dim(A)[2]) # now compute the cases result[(A ==1) & (D == 1) & (P ==1)] <- Case1 result[(A == -1) & (D == -1) & (P == -1)] <- Case2 ....... On Nov 8, 2007 12:27 PM, Martin Tomko <[EMAIL PROTECTED]> wrote: > Hi all, > > I have a set of patterns which can occur in a series of (3) matrices. I > want to identify those and create a fourth one with the identifiers of > the cases. > > Something like: > > for (i in 1:l) { > for (j in 1:w) { > > A[A[i,j]==1 & D[i,j]==1 & P[i,j]==1] <- Case1; > A[A[i,j]==-1 & D[i,j]==-1 & P[i,j]==-1] <- Case2; > > etc.... > } > } > > the code seems to run, but is very slow.... Could anyone please suggest > a better approach? I was thinking that 3 matrices could be stacked in a > cube, and the column of a cube searched for a pattern, but am not sure > how to do that... > > Thanks > Martin > > ______________________________________________ > 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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve? ______________________________________________ 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.