Control {base}R Documentation

Control Flow

Description

These are the basic control-flow constructs of the R language. They function in much the same way as control statements in any algol-like language.

Usage

if(cond) expr
if(cond) cons.expr  else  alt.expr
for(var in seq) expr
while(cond) expr
repeat expr
break
next

Details

Note that expr and cons.expr, etc, in the Usage section above means an expression in a formal sense. This is either a simple expression or a so called compound expression, usually of the form { expr1 ; expr2 }.

Note that it is a common mistake to forget putting braces ({ .. }) around your statements, e.g., after if(..) or for(....). In particular, you should not have a newline between } and else to avoid a syntax error in entering a if ... else construct at the keyboard or via source. For that reason, one (somewhat extreme) attitude of defensive programming uses braces always, e.g., for if clauses.

The index seq in a for loop is evaluated at the start of the loop; changing it subsequently does not affect the loop.

References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also

Syntax for the basic R syntax and operators, Paren for parentheses and braces; further, ifelse, switch.

Examples

for(i in 1:5) print(1:i)
for(n in c(2,5,10,20,50)) {
   x <- rnorm(n)
   cat(n,":", sum(x^2),"\n")
}

[Package Contents]