R/nextObservation.R

nextObservation <- function(df, addfeatures = TRUE){

  # Créer des key figures additionnelles au niveau de la prochaine observation du même véhicule
    df <- df %>% arrange(vin, desc(datetime)) %>%
                 mutate(nextobs = lag(id)) %>% arrange(vin, datetime) %>% ungroup()

  if(addfeatures == TRUE){

    # Rajouter des key figures à la table provenant des id liés à la next obs
    df <- df %>%
          left_join(df %>%
                    select(id, lat, lon, energy_level, ymdhm, year, month, day, wday, hour) %>%
                    rename(nextlat = lat, nextlon = lon, nextenergy_level = energy_level, nextymdhm = ymdhm, nextyear = year, nextmonth = month, nextday = day, nextwday = wday, nexthour = hour),
                    by = c("nextobs" = "id")) %>%
          mutate(timediff = nextymdhm - ymdhm, energydiff = nextenergy_level - energy_level) %>% ungroup()
  }

   return(df)
}
gwielinski/CarsharingWebData documentation built on May 17, 2019, 9:31 a.m.