mardi 29 mai 2018

if else multiple conditions comparing rows

I am strugling with this loop. I want to get "6" in the second row of column "Newcolumn".I get the following error.

Error in if (mydata$type_name[i] == "a" && mydata$type_name[i -  : 
missing value where TRUE/FALSE needed.

The code that I created:

id  type_name   name    score   newcolumn
1   a   Car 2   2
1   a   van 2   6
1   b   Car 2   2
1   b   Car 2   2

mydata$newcolumn <-c(0)
for (i in 1:length(mydata$id)){
  if ((mydata$type_name [i] == "a") && (mydata$type_name[i-1] == "a") && ((mydata$name[i]) != (mydata$name[i-1]))){
    mydata$newcolumn[i]=mydata$score[i]*3 }
  else {
    mydata$newcolumn[i]=mydata$score[i]*1
  }
}

Thank you very much in advance

Aucun commentaire:

Enregistrer un commentaire