I want to create a new array which selects values from an original array
based on a function of the indices. That is:

I want to create a new matrix Vnew[i,j,k]=Vold[i,j,ks] where ks is a
function of the index elements i,j,k. I want to do this WITHOUT a loop.

Call the function "ksfunction", and the array dimensions nis,njs,nks. I can
do this using a loop as follows:

# Loop version:
Vnew<-array(NA,c(nis,njs,nks)
for(i1 in 1:nis)for(j1 in 1:njs)for(k1 in
1:nks)Vnew[i1,j1,k1]<-Vold[i1,k1,ksfunction(i1,j1,k1)]

I already know how to create an array of the ks's:
ksarray[i,j,k]=ksfunction(i,j,k)  # I have the array ksarray ready

I don't want a loop because nis,njs, and nks are pretty large and it takes
forever.

Would appreciate help with this issue.

	[[alternative HTML version deleted]]

