Hello all! I´m trying to complete the "movimento" column in dataframe based in the values of "kmr" column in two sequential lines, as below:
data example (dput in the end of email): ID kmr movimento 5 10.700 314.20 NA 1 10.700 278.74 NA 2 10.700 278.74 NA 3 10.700 278.74 NA 4 10.700 278.74 NA 494 100.700 269.94 NA 500 100.700 278.74 NA 499 100.700 314.20 NA 495 100.700 278.74 NA 498 100.700 278.74 NA 496 100.700 255.40 NA 497 100.700 255.10 NA Once I have different IDs, I wrote this function: move = function (x){ for (j in x$ID){ for (i in 2:length(x$kmr)-1){ if (x$kmr[i+1] < x$kmr[i]) { x$movimento[i+1] <- "jusante" } else if (x$kmr[i+1] > x$kmr[i]) { x$movimento[i+1] <- "montante" } else { x$movimento[i+1] <- "parado" } } } return (x) } Worked pretty well with just one ID, but with many IDs the function didn´t detach different IDs. ID kmr movimento 5 10.700 314.20 <NA> 1 10.700 278.74 jusante 2 10.700 278.74 parado 3 10.700 278.74 parado 4 10.700 278.74 parado 494 100.700 269.94 jusante <-- this should be <NA> 500 100.700 278.74 montante 499 100.700 314.20 montante 495 100.700 278.74 jusante 498 100.700 278.74 parado 496 100.700 255.40 jusante 497 100.700 255.10 jusante I also tried remove the first If condition and pass this function using lapply in the splitted original data-frame, but didn´t work as well. Some onde can help? Thanks in advanced, Raoni structure(list(ID = c("10.700", "10.700", "10.700", "10.700", "10.700", "100.700", "100.700", "100.700", "100.700", "100.700", "100.700", "100.700"), kmr = c(314.2, 278.74, 278.74, 278.74, 278.74, 269.94, 278.74, 314.2, 278.74, 278.74, 255.4, 255.1), movimento = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA)), .Names = c("ID", "kmr", "movimento"), row.names = c(5L, 1L, 2L, 3L, 4L, 494L, 500L, 499L, 495L, 498L, 496L, 497L), class = "data.frame") -- Raoni Rosa Rodrigues Research Associate of Fish Transposition Center CTPeixes Universidade Federal de Minas Gerais - UFMG Brasil rodrigues.ra...@gmail.com ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.