A loop can be used to perform the same function repeatedly. For example:
for(i in 1:3){x12[i] <- x12[i] + 1}
for(i in 1:3){}
x12[i]
x12[1]
x12[2]
x12[i] <- x12[i] + 1
Here the value in x12[i] is replaced by the value in x12[i] plus 1.
In this case the same result is obtained more simply by:
x12 <- x12 + 1
x12
A generalization if the function is to be applied to each entry of x12 would be the following.
for(i in 1:length(x12)){x12[i] <- x12[i] + 1}
Here i runs from one to the length of the x12 vector.
The use of a temporary variable named i is arbitrary, another name could be used.
for(Joe in 1:length(x12)){x12[Joe] <- x12[Joe] + 1}
You might choose to apply a function only to entries for which a certain criterion is true.
for(i in 1:length(x12)){if(x12[i] < 4){x12[i] <- x12[i] + 1}}
Here the if() statement controls which entries in the vector x12 are modified.
if()
In this case, only those entries that are less than 4 have 1 added.
Another way to accomplish the same thing would be as follows.
index12 <- x12 < 4x12[index12] <- x12[index12] + 1
Minimizing the use of loops can make R programs more efficient. Often the use of a loop can be avoided if operations are performed on whole objects at a time, as in:
Next: Working with Data Sets