Here are a couple of constructions that work. albyn ===========================================
num <- rep(0,10) for (i in 2:10) { num[i] <- num[i-1] + 5 if(num[i] > 20) break } > num [1] 0 5 10 15 20 25 0 0 0 0 or num <- rep(0,10) done <- FALSE i <- 2 while(!done){ num[i] <- num[i-1] + 5 if(num[i] > 20) done <- TRUE i <- i + 1 } > num [1] 0 5 10 15 20 25 0 0 0 0 On Tue, Apr 10, 2012 at 10:48:34AM -0400, Steve Lavrenz wrote: > Everyone, > > I'm very new to R, especially when it comes to loops and functions, so > please bear with me if this is an elementary question. I cannot seem to > figure out how to construct a loop which runs a function until a certain > value is computed. For example, say I have the following: > > num = numeric (10) > num [1] = 0 > for (i in 2:10) { > num [i] = num [i-1] + 5 > } > > This adds 5 to the preceding spot of a vector of length 10 to get the value > in the current spot. However, say I don't just want to run this for 10 > spots; rather I want to run it until a certain value (say, 100) is computed. > How I construct my loop to do this? > > Thanks! > > > [[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. > -- Albyn Jones Reed College jo...@reed.edu ______________________________________________ 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.