Without a reproducible example it's hard to tell for certain, but what about simply (assuming nrows2 is actually columns):
sum((mat1/d1 - mat2/d2)^2) R is smart enough to understand elementwise manipulation of a matrix: you shouldn't need a loop at all. Sarah On Tue, Dec 4, 2012 at 2:27 PM, Charles Novaes de Santana <charles.sant...@gmail.com> wrote: > Dear Michael, > > Thank you for your answer. > > I have 2 matrices. Each position of the matrices is a weight. And I > need to calculate the following sum of differences: > > Considering: > mat1 and mat2 - two matrices (each of them 48000 x 48000). > d1 and d2 - two constant values. > > sum<-0; > for(i in 1:nrows1){ > for(j in 1:nrows2){ > sum<-sum+ ( ( (mat1(i,j)/d1) - > (mat2(i,j)/d2) )^2 ) > } > } > } > > I was wondering if there is a better way to do this sum. > > Thank you for your attention! > > Best, > > Charles > > On Tue, Dec 4, 2012 at 7:54 PM, R. Michael Weylandt > <michael.weyla...@gmail.com> <michael.weyla...@gmail.com> wrote: >> >> >> On Dec 4, 2012, at 6:47 PM, Charles Novaes de Santana >> <charles.sant...@gmail.com> wrote: >> >>> Dear all, >>> >>> I need to access data from a large matrix (48000 x 48000) and to do it >>> I am trying to run two loops using "for" command. Surely it is been a >>> very slow job. >>> >>> I heard that "for" is not the best option to perform large loops in R, >>> but I don't really know what would be the best (fast) option. sapply? >>> vapply? Could anyone help me with this issue, please? >> >> What exactly are you trying to do? It's likely doable with a few vectorized >> operations. >> >> Michael >> >> -- Sarah Goslee http://www.functionaldiversity.org ______________________________________________ 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.