For - Loops in R
For - Loops in R
Raju N
For loop
• for(variable in vector) {
Commands
}
For loop examples
• > for(i in 1:5)
• + { print(i^2)
• +}
• [1] 1
• [1] 4
• [1] 9
• [1] 16
• [1] 25
• >
Examples contd…
• Indices need not be sequential...
• > for(i in c(-5,-3,0,1,2,3,4))
• + {print(i^2)
• +}
• [1] 25
• [1] 9
• [1] 0
• [1] 1
• [1] 4
• [1] 9
• [1] 16
Another way…
• > x= c(-5,-3,0,1,2,3,4)
• > for(i in x){print (i^2)}
• [1] 25
• [1] 9
• [1] 0
• [1] 1
• [1] 4
• [1] 9
• [1] 16
Example…
• > for(i in c(-5,-3,0,1,2,3,4)){print (c(i, i^2))}
• [1] -5 25
• [1] -3 9
• [1] 0 0
• [1] 1 1
• [1] 2 4
• [1] 3 9
• [1] 4 16
Example
• > data=numeric(5)
• > data
• [1] 0 0 0 0 0
• > for(i in 1:5){data[i]=i^2}
• > data
• [1] 1 4 9 16 25
Example…
• > x= c(-5,-3,0,1,2)
• > data1=numeric(5)
• > for(i in 1:5){data1[i]=x[i]^2}
• > data1
• [1] 25 9 0 1 4
Length in meter to length in cm
• > for(lenm in c(3,2.75,.9))
• + {lenincm=lenm*100
• + print(c(lenm,lenincm))}
• [1] 3 300
• [1] 2.75 275.00
• [1] 0.9 90.0
For and If combined
• > for(ht in c(120,130,175,160,185,190,110))
• + { if (ht >= 170){print(c(ht,"TALL"))}
• + else{print(c(ht,"SHORT"))}}
• [1] "120" "SHORT"
• [1] "130" "SHORT"
• [1] "175" "TALL"
• [1] "160" "SHORT"
• [1] "185" "TALL"
• [1] "190" "TALL"
• [1] "110" "SHORT"
Without for
• > x=1:5
• > y=x^2
• >y
• [1] 1 4 9 16 25
Nested For loops
• for(var1 in vect1){
• for(var2 in vect2){
• for(var3 in vect3){……{ for(varn in vect3)
• {
• Commands
• }}}}}