Ok, here is a toy example. I want to use a custom function that depends on more than one matrix/array as input, and I can't figure out how to do that with apply.
v <- c(NA, 1.5, NA, NA, NA, 1.1, 0.5, NA, NA, 1.3, 0.4, 0.9) a1 <- array(v, dim=c(2,2,3)) m1 <- matrix(c(NA, 1.5, 2.1, NA), ncol=2, byrow=T) m2 <- matrix(runif(n=4, min=1, max=3), ncol=2) condition1 <- ifelse(!is.na(m1) & m1 > m2, T, F) ans <- matrix(NA, ncol=2, nrow=2) # initialize for(i in 1:2) { for(j in 1:2) { ind.not.na <- which(!is.na(a1[i,j,])) if(condition1[i,j] && length(ind.not.na) > 0) { ans[i,j] <- a1[i,j,ind.not.na[1]] + m2[i,j] } } } Scott Waichler > -----Original Message----- > From: Bert Gunter [mailto:gunter.ber...@gene.com] > Sent: Wednesday, April 30, 2014 12:18 PM > To: Waichler, Scott R > Cc: r-help@r-project.org > Subject: Re: [R] Using apply with more than one matrix > > Scott: > > Your problem specification is rather vague: What do you mean by "use"? > > In general, matrices are merely vectors with a dim attribute, so if you > can do what you want with them as vectors, then that will work for them as > matrices. For example: > > > m1<- matrix(1:6, nr=3) > > m2 <- matrix(11:16, nr=2) > > m2*m2 > [,1] [,2] [,3] > [1,] 121 169 225 > [2,] 144 196 256 > > If this does not meet your needs, you will have to follow the posting > guide and provide both code and a minimal reproducible example. > > Cheers, > Bert > > > Bert Gunter > Genentech Nonclinical Biostatistics > (650) 467-7374 > > "Data is not information. Information is not knowledge. And knowledge is > certainly not wisdom." > H. Gilbert Welch > > > > > On Wed, Apr 30, 2014 at 10:54 AM, Waichler, Scott R > <scott.waich...@pnnl.gov> wrote: > > Hi, > > > > I want to apply a custom function to all the elements of one matrix. > The function uses the value in the same i,j in a second matrix. How can I > use apply() or similar function to avoid nested loops in i and j? > > > > Thanks, > > Scott Waichler > > Pacific Northwest National Laboratory > > Richland, WA, 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. ______________________________________________ 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.