У меня есть фрейм данных, который выглядит следующим образом полет каждую минуту. Я создал следующую функцию
get_coords <- function(df){
n = df %>% select(airtime) + 1
df %>%
pivot_longer(cols = c(origin_lon,origin_lat,dest_lon,dest_lat),
names_to = c('col', '.value'),
names_sep = '_') %>%
group_by(flight_no) %>%
summarise(datetime = list(seq(land_time, takeoff_time, length.out = n)),
lon = list(seq(max(lon), min(lon), length.out = n)),
lat = list(seq(min(lat), max(lat), length.out = n))) %>%
unnest(cols = c(lat, lon))
}
library(dplyr)
library(purrr)
df %>%
group_split(rn = row_number(), .keep = FALSE) %>%
map_dfr(get_coordinates)
Это выполняет задание и каждую минуту возвращает фрейм данных со значениями flight_no, longitude и latitude, но я также хочу включить значение даты и времени для каждой записи .
Вывод
flight_no datetime lon lat
<chr> <dbl> <dbl>
AAA 2019-03-04 06:18:00 -84.42778 33.63667
AAA 2019-03-04 06:19:00 -84.46479 33.72537
AAA 2019-03-04 06:20:00 -84.50180 33.81407
AAA 2019-03-04 06:21:00 -84.53881 33.90277
AAA 2019-03-04 06:22:00 -84.57582 33.99147
AAA 2019-03-04 06:23:00 -84.61283 34.08017
AAA 2019-03-04 06:24:00 -84.64984 34.16887
AAA 2019-03-04 06:25:00 -84.68685 34.25756
AAA 2019-03-04 06:26:00 -84.72386 34.34626