jeudi 5 novembre 2015

One of the "else if" commands doesn't work in for loop

I have a dataframe FLANK:

Tar_RL  Tar_UD  Resp RT     Button_Rel  Accur            
LEFT    UP      201  12582  1439        miss
RIGHT   DOWN    203  12389  1440        miss
RIGHT   UP      204  10748  1280        miss
RIGHT   DOWN    203  11056  1760        miss
RIGHT   DOWN    203  6090   1680        miss
LEFT    DOWN    202  5743   1440        hit
LEFT    DOWN    202  5671   1520        hit
LEFT    UP      201  5378   1520        hit
RIGHT   UP      204  5032   1360        hit
RIGHT   DOWN    203  5038   1440        hit
RIGHT   UP      204  4399   1360        hit
RIGHT   DOWN    203  4273   1849        hit
RIGHT   DOWN    203  5087   1683        hit
RIGHT   UP      204  4453   1760        hit

The combinations of Tar_RL and TAR_UD are following: Left + Up is coded as 201, LD - 202, RD - 203, RU - 204.

I wrote a code to map the Tar_RL and Tar_UD combinations in a new column Corr_Resp:

FLANK$Corr_Resp <- 0 

for (i in  1:nrow(FLANK)) {
 if(FLANK$Tar_RL[i]<= 'LEFT' & FLANK$Tar_UD[i]<= 'UP'){
   FLANK$Corr_Resp[i] <- 201
 }
 else if (FLANK$Tar_RL[i]<= 'LEFT' & FLANK$Tar_UD[i]<= 'DOWN'){
   FLANK$Corr_Resp[i] <- 202
 }
 else if(FLANK$Tar_RL[i]<= 'RIGHT' & FLANK$Tar_UD[i]<= 'DOWN'){
   FLANK$Corr_Resp[i] <- 203
 }
   else if (FLANK$Tar_RL[i]<= 'RIGHT' & FLANK$Tar_UD[i]<= 'UP'){
   FLANK$Corr_Resp[i] <- 204
}
} 

However, it gives me this kind of output where values of 202 (combinations of LD) are missing:

Tar_RL  Tar_UD  Resp RT     Button_Rel  Accur  Corr_Resp
LEFT    UP      201  12582  1439        miss   201
RIGHT   DOWN    203  12389  1440        miss   203
RIGHT   UP      204  10748  1280        miss   204
RIGHT   DOWN    203  11056  1760        miss   203
RIGHT   DOWN    203  6090   1680        miss   203
LEFT    DOWN    202  5743   1440        hit    201
LEFT    DOWN    202  5671   1520        hit    201
LEFT    UP      201  5378   1520        hit    201
RIGHT   UP      204  5032   1360        hit    204
RIGHT   DOWN    203  5038   1440        hit    203
RIGHT   UP      204  4399   1360        hit    204
RIGHT   DOWN    203  4273   1849        hit    203
RIGHT   DOWN    203  5087   1683        hit    203
RIGHT   UP      204  4453   1760        hit    204

What is wrong with my code?

Aucun commentaire:

Enregistrer un commentaire