Я пытаюсь определить область точек вороной точки по времени. В качестве примера у меня будет 10 точек, которые перемещаются в области, как показано x
и y
, и каждую секунду их положение меняется, я в идеале хотел бы также добавить данные во фрейм данных.
пример набора данных
time ID group x y
1 1 1 0 28.8554948 22.86062624
2 1 2 0 9.4312357 5.27599370
3 1 3 0 27.3113332 27.09634821
4 1 4 0 4.6193213 16.01022288
5 1 5 0 25.8617119 20.16558756
6 1 1 1 33.6530158 23.75166888
7 1 2 1 12.2341101 3.62926925
8 1 3 1 9.5619524 24.14383888
9 1 4 1 3.4181743 12.15189151
10 1 5 1 18.5343594 11.47733778
11 2 1 0 39.6441736 15.33997914
12 2 2 0 27.0514581 0.01297022
13 2 3 0 24.2570589 24.97551277
14 2 4 0 9.7487883 20.35647215
15 2 5 0 5.8891486 5.73949480
16 2 1 1 12.3068353 21.05215570
17 2 2 1 23.9474039 23.12259092
18 2 3 1 1.9877855 0.35812507
19 2 4 1 5.6428109 10.54775290
20 2 5 1 23.1807251 25.67674280
21 3 1 0 20.3794007 14.67732524
22 3 2 0 40.1697906 7.08210676
23 3 3 0 24.7078656 4.75863272
24 3 4 0 37.2356573 1.53532999
25 3 5 0 1.7329567 20.60363936
26 3 1 1 16.0402923 0.12031647
27 3 2 1 8.8020244 0.66411068
28 3 3 1 3.3827121 23.83870263
29 3 4 1 39.3006142 14.11694483
30 3 5 1 25.1898969 18.06613287
31 4 1 0 38.7190039 8.64362926
32 4 2 0 35.1425483 16.56187552
33 4 3 0 0.3365735 6.72706968
34 4 4 0 41.3876329 27.49034725
35 4 5 0 25.7139132 26.77245463
36 4 1 1 5.7941731 25.13917211
37 4 2 1 36.8241326 9.11848145
38 4 3 1 6.5164597 11.21829771
39 4 4 1 37.5855722 11.70369151
40 4 5 1 10.6119342 17.47858228
41 5 1 0 30.6994266 3.40411287
42 5 2 0 21.5079571 27.14161562
43 5 3 0 1.8966082 3.30486653
44 5 4 0 26.3202706 6.51448199
45 5 5 0 18.6151207 8.35861197
46 5 1 1 39.1749579 1.22611131
47 5 2 1 39.2039045 12.04512658
48 5 3 1 26.3472226 21.71368996
49 5 4 1 17.1631377 13.25027121
50 5 5 1 25.1563733 8.04649512
Я пытался использовать dplyr, чтобы попытаться решить эту проблему без реального успеха. Я ценю, что могут быть другие способы сделать это, например, для циклов
Вот код, который я пытался до сих пор, хотя предположим, что он пока не работает
#create tesselation
tess <- deldir(df$x, df$y, rw = c(0,42,0,28))
#plot tesselation
plot.deldir(tess)
#get area of each dirichlet tile column
tess$summary
#attemot to group by time
df = df %>%
group_by(time) %>%
deldir(df$x, df$y, rw = c(0,42,0,28))