First up, you've got a problem if your vectors are 520 elements in length because you accessing element i+1 in your loop and when i is 520 you won't have a valid value.
Next, you don't really need a for loop at all :) You can do those operations on the whole vectors... e.g. tmp1 <- (1 - samp.pct[-n)^2 * diff(log(1 - theor.pct)) (just replaced your explicit subtraction of lagged values with diff) Does that help ? Michael Note, in the line above, the last element is omitted with "[-n]". See help page on the diff function if you are not familiar with it. On 21 September 2010 16:41, andre bedon <andresa...@hotmail.com> wrote: > > Hi guys, > > Im new to R and am having a bit of trouble with what should be a simple loop. > It sprobably something very fundamental that im doing wrong. > > > > for(i in c(1:520)) > { > tmp1<- ((1-samp.pct[i])^2)*(log(1-theor.pct[i])-log(1-theor.pct[i+1])) > tmp2<- ((samp.pct[i])^2)*(log(theor.pct[i+1])-log(theor.pct[i])) > } > ADtest.stat<- (-n*(max(theor.pct))) + (n*sum(tmp1)) + (n*sum(tmp2)) > names(ADtest.stat) <- c("Anderson-Darling test statistic") > print(ADtest.stat) > > > > samp.pct is a vector containing 520 values between 0 and 1, so is theor.pct. > n is 520. > > After running this code, tmp1 and tmp2 return only one value, where I need > around 520 values. Any ideas would be appreciated. > > > > Regards, > > > > Andre > > > > [[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.