Если вы просто хотите построить временной ряд индивидуальных идентификаторов транспортных средств, я не уверен, что есть причина использовать al oop. Например, вы можете легко создать переменную time
и построить график с помощью ggplot2
:
library(dplyr)
library(ggplot2)
df1 %>%
group_by(id) %>%
mutate(time = 1:n()) %>%
ggplot(aes(x = time, y = xVelocity, color = as.factor(id))) +
geom_line(show.legend = FALSE, alpha = 0.5)
введите описание изображения здесь
И вы можете использовать pivot_wider
из tidyr
, чтобы изменить данные:
library(tidyr)
result <- df1 %>%
group_by(id) %>%
mutate(time = 1:n()) %>%
dplyr::select(time, xVelocity) %>%
pivot_wider(id_cols = time, values_from = xVelocity,
names_prefix = "Veh.", names_from = id)
result
# A tibble: 414 x 287
time Veh.1 Veh.3 Veh.7 Veh.11 Veh.12 Veh.14 Veh.15 Veh.25 Veh.31 Veh.47 Veh.50 Veh.53 Veh.55 Veh.59
<int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1 40.8 35.7 32.6 24.7 35.8 41.5 35.7 37.9 39.2 39.2 40.3 39.5 33.0 38.2
2 2 40.9 35.7 32.6 24.8 35.8 41.5 35.7 37.9 39.2 39.2 40.3 39.5 33.0 38.2
3 3 40.9 35.7 32.6 24.8 35.8 41.5 35.7 38.0 39.2 39.2 40.3 39.6 33.0 38.2
4 4 40.9 35.7 32.6 24.8 35.8 41.5 35.7 38.0 39.2 39.2 40.3 39.6 33.1 38.2
5 5 40.9 35.7 32.6 24.8 35.8 41.5 35.7 38.0 39.2 39.2 40.3 39.6 33.1 38.1
6 6 40.9 35.7 32.6 24.9 35.8 41.6 35.7 38 39.2 39.2 40.4 39.6 33.1 38.1
7 7 40.9 35.7 32.7 24.9 35.8 41.6 35.7 38.0 39.2 39.2 40.4 39.6 33.1 38.1
8 8 40.9 35.7 32.7 24.9 35.8 41.6 35.7 38.0 39.2 39.3 40.4 39.6 33.1 38.1
9 9 41.0 35.8 32.7 25.0 35.8 41.6 35.7 38.0 39.2 39.3 40.4 39.6 33.1 38.1
10 10 41.0 35.8 32.7 25 35.8 41.6 35.7 38.1 39.2 39.3 40.4 39.7 33.1 38.1
# … with 404 more rows, and 272 more variables: