What you need is chapter 9 in http://cran.r-project.org/doc/manuals/R-intro.pdf . And you could also use chapter 2, especially 2.2.
> specdist <-matrix(NA,nrow=40,ncol=20) > > for (j in 1:40){ > for(i in 1:20){ > specdist[j,i]<-sqrt((pnr[i,1]-mvp[i,1])^2+(pnr[i,2]-mvp[i,2])^2)+....+(pnr[i,14]-mvp[i,14])^2)) > } > } > but it only repeats from 1:40 and does not step from 41 to 80; from 81 to 40 etc. certainly there is a "if" "else" "next" "step??" or "while" > missing, but I never implemented one of those. :( It does exactly what you've told it to do. And if(you really insist on using loops) it would be easy to add another loop that would go from 0 to 40 to 80 etc: for(another.unnecessary.loop in seq(0,800,40){ # and now add that one to i for pnr And things like dist() might make calculating distance matrices /see: help(dist) / a bit easier. As you see from documentation, it calculates distances between rows of a matrix; so you can first rbind your 2 matrices, then use dist, and then extract the part you want. Or at least you might want to consider making your calculations simpler by using vectors in a decent way: sqrt(sum((pnr[i,]-mvp[i,])^2 )) # instead of adding them one by one good luck, Kenn On Wed, Jul 30, 2008 at 10:49 AM, Jens Oldeland <[EMAIL PROTECTED]> wrote: > Dear all, > > I have a problem with constructing a nested loop. > > I have two matrices: > > pnr: > 800 rows 14 columns > > where rows are 40x20 meaning that 40 rows belong to one of twenty objects > in the matrix pnr > > mvp: > 20 rows and 14 columns > > I want to: > calculate a distance value with the first 40 rows of pnr but 20times with > the 1st row of mvp > > then the next 40 rows of pnr and 20times with the second row of mvp and so > on. in total 20 times. > > i tried with: > > > > dim(p) > [1] 800 14 > > dim(mvp) > [1] 20 14 > > specdist <-matrix(NA,nrow=40,ncol=20) > > for (j in 1:40){ > for(i in 1:20){ > > specdist[j,i]<-sqrt((pnr[i,1]-mvp[i,1])^2+(pnr[i,2]-mvp[i,2])^2)+....+(pnr[i,14]-mvp[i,14])^2)) > } > } > > but it only repeats from 1:40 and does not step from 41 to 80; from 81 to > 40 etc. certainly there is a "if" "else" "next" "step??" or "while" missing, > but I never implemented one of those. :( > > I would be very grateful for any help! > thank you > > Jens > > ______________________________________________ > 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. > [[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.