Does "vnew <- vold[,,ks]" accomplish what you want? -- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare greg.s...@imail.org 801.408.8111
> -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- > project.org] On Behalf Of Asher Meir > Sent: Thursday, December 29, 2011 1:58 PM > To: r-help@r-project.org > Subject: [R] Array element is function of its position in the array > > 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]] > > ______________________________________________ > 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.