У меня есть следующее data.frame
(dput()
в конце вопроса).
> cars_a_d[1:20,]
vehicleRefId dep_time trav_time start_link end_link arr_time
1 10 39956 119 270549 937360 40075
2 10 41756 413 937360 212265 42169
3 10 42656 565 212265 184658 43221
4 10 47156 184 184658 357020 47340
5 10 49556 506 357020 976840 50062
6 10 50156 787 976840 132606 50943
7 10 55556 1177 132606 708563 56733
8 10 56156 210 708563 568677 56366
9 10 61556 2965 568677 270549 64521
10 1000157 25473 1940 557064 336850 27413
11 1000157 47114 136 336850 141230 47250
12 1000157 60014 934 141230 545278 60948
13 1000183 26639 1543 592921 655099 28182
14 1000183 73014 622 656482 815987 73636
15 1000183 79506 1290 815987 545278 80796
16 1000252 64194 2781 444204 529184 66975
17 1000252 66047 1859 529184 545278 67906
18 1000567 80817 54 293993 924124 80871
19 1000567 80901 214 924069 545278 81115
20 1000568 27402 89 743566 988492 27491
Я хочу сгруппировать данные по vehicleRefId
и продублировать первую строку каждой группы (это нужно вставить прямо над или под первым рядом группы).
Поэтому желаемый результат будет выглядеть следующим образом:
vehicleRefId dep_time trav_time start_link end_link arr_time
1 10 39956 119 270549 937360 40075
2 10 39956 119 270549 937360 40075 #duplicate
3 10 41756 413 937360 212265 42169
4 10 42656 565 212265 184658 43221
5 10 47156 184 184658 357020 47340
6 10 49556 506 357020 976840 50062
7 10 50156 787 976840 132606 50943
8 10 55556 1177 132606 708563 56733
9 10 56156 210 708563 568677 56366
10 10 61556 2965 568677 270549 64521
11 1000157 25473 1940 557064 336850 27413
12 1000157 25473 1940 557064 336850 27413 #duplicate
13 1000157 47114 136 336850 141230 47250
14 1000157 60014 934 141230 545278 60948
15 1000183 26639 1543 592921 655099 28182
16 1000183 26639 1543 592921 655099 28182 #duplicate
17 1000183 73014 622 656482 815987 73636
18 1000183 79506 1290 815987 545278 80796
19 1000252 64194 2781 444204 529184 66975 #duplicate
20 1000252 64194 2781 444204 529184 66975
21 1000252 66047 1859 529184 545278 67906
22 1000567 80817 54 293993 924124 80871
23 1000567 80817 54 293993 924124 80871 #duplicate
24 1000567 80901 214 924069 545278 81115
Мой подход пока:
test <-cars_a_d%>%
group_by(vehicleRefId) %>%
as.data.frame(rbind(cars_a_d[1,],cars_a_d))%>%
ungroup()
данные:
structure(list(vehicleRefId = c(10L, 10L, 10L, 10L, 10L, 10L,
10L, 10L, 10L, 1000157L, 1000157L, 1000157L, 1000183L, 1000183L,
1000183L, 1000252L, 1000252L, 1000567L, 1000567L, 1000568L, 1000568L,
1000568L, 1000568L, 100060L, 100060L, 100060L, 100060L, 100060L,
100060L, 100060L, 100061L, 100061L, 1000670L, 1000670L, 1000670L,
1000928L, 1000928L, 100098L, 100098L, 100098L, 100098L, 100099L,
100099L, 1000999L, 1000999L, 1000999L, 1001004L, 1001004L, 1001004L,
1001004L, 1001005L, 1001005L, 100102L, 100102L, 100103L, 100103L,
1001046L, 1001046L, 1001046L, 1001090L, 1001090L, 1001090L, 1001090L,
1001090L, 1001090L, 1001174L, 1001174L, 1001232L, 1001232L, 100126L,
100126L, 100126L, 100126L, 100126L, 100126L, 100126L, 100126L,
100128L, 100128L, 100128L, 100128L, 100128L, 1001313L, 1001313L,
1001313L, 1001313L, 1001313L, 1001313L, 1001313L, 1001313L, 1001349L,
1001349L, 1001388L, 1001388L, 1001456L, 1001456L, 100149L, 100149L,
100149L, 100150L, 100150L, 1001541L, 1001541L, 1001541L, 1001565L,
1001565L, 1001565L, 1001768L, 1001768L, 1001787L, 1001787L, 1001787L,
1001957L, 1001957L, 1001957L, 1001957L, 1001957L, 1001957L, 1001995L,
1001995L, 1002L, 1002L, 1002L, 1002060L, 1002060L, 100222L, 100222L,
1002277L, 1002277L, 1002277L, 1002279L, 1002279L, 1002279L, 1002279L,
10024L, 10024L, 10024L, 10024L, 10024L, 10024L, 1002404L, 1002404L,
1002443L, 1002443L, 100254L, 100254L, 100254L, 100254L, 100254L,
100254L, 100254L, 1002576L, 1002576L, 10026L, 10026L, 10026L,
10026L, 10026L, 1002607L, 1002607L, 100277L, 100277L, 1002772L,
1002772L, 100284L, 100284L, 100284L, 100284L, 100284L, 100284L,
100284L, 1002844L, 1002844L, 1002844L, 1002844L, 1002871L, 1002871L,
1002938L, 1002938L, 1002938L, 1002938L, 1002938L, 1003015L, 1003015L,
10031L, 10031L, 10031L, 10031L, 10032L, 10032L, 10032L, 1003414L,
1003414L, 100352L, 100352L, 1003611L, 1003611L, 1003699L, 1003699L,
1003699L), dep_time = c(39956, 41756, 42656, 47156, 49556, 50156,
55556, 56156, 61556, 25473, 47114, 60014, 26639, 73014, 79506,
64194, 66047, 80817, 80901, 27402, 31547, 36647, 43847, 30627,
36927, 43227, 44187, 46827, 65727, 67527, 51986, 56595, 21346,
67159, 72774, 21263, 60858, 31959, 37359, 39759, 41559, 61889,
74682, 21065, 21261, 56661, 22111, 22362, 59409, 59494, 32070,
63829, 26169, 59769, 53159, 57026, 69595, 71304, 72284, 17744,
17995, 52236, 59460, 60499, 60584, 28153, 41635, 33821, 64393,
33929, 35729, 36449, 48329, 50594, 52829, 62122, 62231, 27002,
27122, 54902, 67502, 70202, 26021, 26787, 45267, 56712, 59667,
63867, 74067, 77067, 20674, 41721, 21935, 56252, 44903, 48563,
25796, 26876, 69896, 57837, 72620, 30899, 30997, 31311, 53403,
58235, 63635, 48169, 76477, 51616, 66370, 67270, 26978, 27230,
27333, 59126, 59513, 59608, 24985, 62204, 28491, 29787, 34216,
45639, 81496, 51318, 59664, 48649, 49563, 52563, 22525, 34077,
49559, 67677, 30877, 34348, 59977, 60208, 63877, 64108, 17836,
53183, 29505, 43327, 27293, 44377, 45090, 48893, 67777, 68977,
69800, 67967, 115984, 35174, 35465, 44893, 60845, 62045, 39345,
43670, 22401, 67411, 26924, 58472, 40117, 41920, 48445, 58085,
61161, 64385, 66058, 37909, 39969, 48994, 54394, 33921, 79759,
25356, 28094, 42794, 48194, 67094, 30509, 39139, 44936, 46462,
72425, 80962, 25488, 53534, 55427, 29876, 40714, 51083, 53335,
47371, 48622, 25640, 30665, 34265), trav_time = c(119, 413, 565,
184, 506, 787, 1177, 210, 2965, 1940, 136, 934, 1543, 622, 1290,
2781, 1859, 54, 214, 89, 463, 943, 1536, 565, 461, 279, 800,
820, 1113, 1344, 214, 205, 991, 314, 29, 1186, 1316, 491, 529,
572, 346, 89, 110, 402, 953, 1211, 394, 49, 54, 481, 2093, 2139,
1406, 1650, 135, 119, 1693, 1187, 49, 255, 49, 602, 1705, 54,
229, 934, 632, 707, 689, 491, 222, 353, 205, 493, 238, 39, 191,
182, 2249, 1083, 669, 917, 1377, 372, 972, 1515, 351, 668, 348,
618, 817, 1021, 971, 874, 685, 425, 407, 178, 251, 296, 230,
32, 93, 129, 325, 631, 707, 1075, 830, 1828, 1167, 1319, 768,
49, 539, 611, 36, 258, 2258, 1939, 2020, 49, 2120, 842, 575,
246, 270, 387, 615, 631, 164, 556, 151, 569, 249, 283, 237, 279,
1073, 1693, 564, 578, 1611, 1458, 1463, 1097, 0, 1076, 881, 737,
0, 1645, 543, 237, 271, 1640, 1494, 1257, 369, 442, 112, 151,
2361, 2370, 757, 682, 290, 541, 409, 839, 11, 1975, 1060, 118,
1441, 1985, 1468, 1495, 376, 426, 421, 699, 755, 559, 1865, 1677,
712, 648, 1045, 633, 105, 2552, 1925, 84, 101, 88, 472, 3229,
794, 706), start_link = c(270549L, 937360L, 212265L, 184658L,
357020L, 976840L, 132606L, 708563L, 568677L, 557064L, 336850L,
141230L, 592921L, 656482L, 815987L, 444204L, 529184L, 293993L,
924069L, 743566L, 988492L, 447485L, 243378L, 442424L, 880219L,
553505L, 307420L, 475317L, 880219L, 137882L, 442424L, 1044971L,
444204L, 715959L, 862183L, 444204L, 86208L, 518340L, 880806L,
390902L, 1057392L, 518340L, 557064L, 444204L, 277196L, 937812L,
444204L, 924041L, 293993L, 924069L, 444204L, 173355L, 207844L,
488357L, 207844L, 921742L, 444204L, 322842L, 924041L, 444204L,
924041L, 208359L, 917289L, 293993L, 924069L, 921742L, 44740L,
592921L, 1031555L, 715194L, 880261L, 444044L, 715194L, 444204L,
589007L, 685965L, 921742L, 715194L, 527966L, 352143L, 814122L,
69948L, 921742L, 261041L, 887737L, 943525L, 219773L, 887737L,
629352L, 887737L, 444204L, 726443L, 444204L, 541592L, 86208L,
89636L, 442424L, 229666L, 598571L, 442424L, 1044971L, 921742L,
731278L, 208365L, 444204L, 773893L, 522604L, 444204L, 911454L,
557064L, 340254L, 179635L, 444204L, 924041L, 1043759L, 325682L,
690654L, 924069L, 444204L, 717241L, 943525L, 924041L, 770275L,
921742L, 383765L, 586665L, 921742L, 444204L, 273230L, 136011L,
921742L, 518320L, 1044971L, 518320L, 390783L, 270549L, 390783L,
270549L, 390783L, 712438L, 444204L, 771873L, 557064L, 656482L,
511889L, 199293L, 511889L, 511889L, 199293L, 656098L, 511889L,
444204L, 313216L, 390783L, 270549L, 550473L, 417690L, 493221L,
921742L, 289147L, 153483L, 1044971L, 557064L, 5297L, 685965L,
86208L, 511889L, 430753L, 592921L, 428902L, 921742L, 444204L,
682408L, 913467L, 693061L, 557064L, 361930L, 444204L, 892054L,
711951L, 181348L, 711951L, 592921L, 338950L, 550473L, 1006099L,
943525L, 577067L, 550473L, 1027040L, 8378L, 444204L, 221998L,
706467L, 724076L, 557064L, 624565L, 444204L, 423728L, 61536L),
end_link = c(937360L, 212265L, 184658L, 357020L, 976840L,
132606L, 708563L, 568677L, 270549L, 336850L, 141230L, 545278L,
655099L, 815987L, 545278L, 529184L, 545278L, 924124L, 545278L,
988492L, 447485L, 243378L, 592922L, 880219L, 553505L, 307420L,
475317L, 880219L, 137882L, 442424L, 921743L, 442424L, 655099L,
862183L, 229128L, 322843L, 557063L, 880806L, 390902L, 1057392L,
518340L, 557063L, 518340L, 277196L, 937812L, 557063L, 924040L,
294688L, 924124L, 545278L, 173355L, 545278L, 488357L, 207844L,
921743L, 207844L, 322843L, 924040L, 294688L, 924040L, 294688L,
917289L, 1043758L, 924124L, 545278L, 44740L, 545278L, 1031555L,
545278L, 880261L, 444044L, 715194L, 921743L, 589007L, 511890L,
921743L, 715194L, 527966L, 352143L, 814122L, 69948L, 715194L,
261041L, 887737L, 558366L, 219773L, 887737L, 629352L, 887737L,
545278L, 726443L, 545278L, 541592L, 545278L, 89636L, 545278L,
229666L, 598571L, 442424L, 557063L, 442424L, 685966L, 208365L,
921743L, 773893L, 522604L, 557063L, 911454L, 545278L, 340254L,
179635L, 545278L, 924040L, 294688L, 325682L, 276534L, 648084L,
545278L, 717241L, 545278L, 924040L, 294688L, 558366L, 383765L,
545278L, 921743L, 586665L, 273230L, 136011L, 545278L, 518320L,
545278L, 518320L, 545278L, 270549L, 390784L, 270549L, 390784L,
712438L, 390784L, 771873L, 545278L, 655099L, 545278L, 199293L,
511890L, 511889L, 199293L, 656098L, 511890L, 511889L, 313216L,
545278L, 270549L, 390784L, 417690L, 493221L, 390784L, 289147L,
921743L, 921743L, 153483L, 5297L, 545278L, 1006143L, 511890L,
430753L, 592922L, 428902L, 1045458L, 685966L, 682407L, 913467L,
693061L, 545278L, 361930L, 545278L, 892054L, 711951L, 181348L,
711951L, 545278L, 338950L, 592922L, 1006099L, 558366L, 577067L,
558366L, 1027040L, 913135L, 550472L, 222013L, 545278L, 724077L,
706467L, 624565L, 545278L, 423728L, 61536L, 423728L), arr_time = c(40075,
42169, 43221, 47340, 50062, 50943, 56733, 56366, 64521, 27413,
47250, 60948, 28182, 73636, 80796, 66975, 67906, 80871, 81115,
27491, 32010, 37590, 45383, 31192, 37388, 43506, 44987, 47647,
66840, 68871, 52200, 56800, 22337, 67473, 72803, 22449, 62174,
32450, 37888, 40331, 41905, 61978, 74792, 21467, 22214, 57872,
22505, 22411, 59463, 59975, 34163, 65968, 27575, 61419, 53294,
57145, 71288, 72491, 72333, 17999, 18044, 52838, 61165, 60553,
60813, 29087, 42267, 34528, 65082, 34420, 35951, 36802, 48534,
51087, 53067, 62161, 62422, 27184, 29371, 55985, 68171, 71119,
27398, 27159, 46239, 58227, 60018, 64535, 74415, 77685, 21491,
42742, 22906, 57126, 45588, 48988, 26203, 27054, 70147, 58133,
72850, 30931, 31090, 31440, 53728, 58866, 64342, 49244, 77307,
53444, 67537, 68589, 27746, 27279, 27872, 59737, 59549, 59866,
27243, 64143, 30511, 29836, 36336, 46481, 82071, 51564, 59934,
49036, 50178, 53194, 22689, 34633, 49710, 68246, 31126, 34631,
60214, 60487, 64950, 65801, 18400, 53761, 31116, 44785, 28756,
45474, 45090, 49969, 68658, 69714, 69800, 69612, 116527,
35411, 35736, 46533, 62339, 63302, 39714, 44112, 22513, 67562,
29285, 60842, 40874, 42602, 48735, 58626, 61570, 65224, 66069,
39884, 41029, 49112, 55835, 35906, 81227, 26851, 28470, 43220,
48615, 67793, 31264, 39698, 46801, 48139, 73137, 81610, 26533,
54167, 55532, 32428, 42639, 51167, 53436, 47459, 49094, 28869,
31459, 34971)), row.names = c(NA, 200L), class = "data.frame")
Большое спасибо заранее!