[R] How to apply a function to a multidimensional array based on its indices

math_daddy math_daddy at hotmail.com
Mon May 14 16:09:31 CEST 2012


Hello. I have a 4 dimensional array and I want to fill in the slots with
values which are a function of the inputs. Through searching the forums here
I found that the function "outer" is helpful for 2x2 matrices but cannot be
applied to general multidimensional arrays. Is there anything which can
achieve, more efficiently than the following code, the job I want?

K <- array(0,dim=c(2,2,2,2)) #dimensions will be much larger
for(x1 in 1:2)
{
  for(y1 in 1:2)
  {
    for(x2 in 1:2)
    {
      for(y2 in 1:2)
      {
        K[x1,y1,x2,y2] <- x1*y2 - sin(x2*y1) #this is just a dummy function.
      }   
    }
  }
}

Thank you in advance for any help.


--
View this message in context: http://r.789695.n4.nabble.com/How-to-apply-a-function-to-a-multidimensional-array-based-on-its-indices-tp4629940.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list