[R] controlling the number of times a script is repeated in a loop

Carl Witthoft carl at witthoft.com
Mon Dec 1 23:42:35 CET 2008


quote:
On Sun, Nov 30, 2008 at 12:21 PM, Salas, Andria Kay 
<aks2515_at_uncw.edu> wrote:
 > I am running a large for loop and at the end of each iteration a 
matrix is produced. The program changes the columns in the matrix, and 
each time a column is added the name of that column is "y". All original 
columns have no column name. Due to the nature of the program, all 
original columns will eventually be replaced with new columns each with 
the column name "y". It is at this point that I want the program to stop 
running the for loop (right now I just have it running for 20 iterations 
resulting in a matrix with a mix of old and new columns). I was thinking 
maybe I could do something with an if else statement and the command 
colnames. For example:
 >
 > If(colnames all are "y") (stop) else (run the program again)

Have a look at ?"while" :

while(!(colnames all are "y")) { run the program again }

Hadley
endquote

I may be misunderstanding you, but if you know the number of columns in 
the matrix, and on every iteration, one of them is changed, why not just 
set the loop up as

R>for (i in 1:ncol(your_matrix))    ?


Carl



More information about the R-help mailing list