[R] *apply function for arrays?

Uwe Ligges ligges at statistik.tu-dortmund.de
Sun May 18 15:32:14 CEST 2008



Hesen Peng wrote:
> Hi all,
> 
> I've recently been writing functions which may deal with very large
> arrays. And I hope to use *apply functions in the program so that the
> code may look nicer and the performance may be better in the following
> two situations.
> 
> The first situation is:
> 
> I'm having an array A with dim(A)==c(m,n,p). And I want to apply a
> function F to a group of elements in A like:
> 
> 1) F is applied to every group of elements like A[i,j,] for all i and j.
> or
> 2) F is applied to every group of elements like A[i,,] for all i, or
> A[,j,] for all j.

Well, apply() itself does the job.

Uwe Ligges





> The result is then expected to be a m*n-dimensional matrix
> 
> I'm currently using for loops to do this but I guess there maybe some
> *apply functions for arrays which may accomplish this task.
> 
> The second situation is:
> 
> I'm having two matrix M and N and a function G, which is a function of
> two arrays. I want to form a matrix R with dim(R)==c(nrow(M),nrow(N)),
> and R[i,j] <- G(M[i,], N[j,]). And I wonder whether I may use some
> functions like outer to the matrix.
> 
> Thank you very much and have a nice weekend.
>



More information about the R-help mailing list