R 如何筛选具有时间序列分组平均值的表,以将每个平均值分配给平均值的实际日期?
我有这张桌子:R 如何筛选具有时间序列分组平均值的表,以将每个平均值分配给平均值的实际日期?,r,dplyr,R,Dplyr,我有这张桌子: acceso_id dia hora meanEnt sdEnt meanSal sdSal fecha 9 3.00 0 1.10 3.48 0.92 4.39 1603839600.00 9 3.00 1 0.65 1.28 0.55 1.02 1603843200.00 9 3.00 23 7.51 23.49
acceso_id dia hora meanEnt sdEnt meanSal sdSal fecha
9 3.00 0 1.10 3.48 0.92 4.39 1603839600.00
9 3.00 1 0.65 1.28 0.55 1.02 1603843200.00
9 3.00 23 7.51 23.49 13.93 33.01 1603846800.00
9 4.00 0 2.42 19.33 2.53 23.90 1603839600.00
9 4.00 1 1.54 9.34 1.85 15.34 1603843200.00
9 4.00 23 6.27 9.09 12.06 14.21 1603846800.00
meanEnt列是通过从lubridate包中提取wday()和hour()函数计算出来的,使用acceso_id列D,这三个列被分组以提取分组列的平均值,但是我试图获得与平均分组列的实际值相匹配的准确当前日期
下图表示提取值的值
可以看出,当前图像中应该只有三个值,一个用于时间序列的最后一个值,另外两个对应于上一个表中分组列的预测平均值
我在尝试将分组值保留在时间序列中时遇到问题,同时也无法将对应的值保留到实际日期
我不知道是否有人知道一个技术或功能,可以帮助我解决这个问题,提前谢谢你
接下来是一段代码和表格,我用它来产生平均值
acceso_id fecha entrada salida
1 1 2016-01-01 00:00:00 0 0
2 1 2016-01-01 01:00:00 0 0
3 1 2016-01-01 02:00:00 0 0
4 1 2016-01-01 03:00:00 0 0
5 1 2016-01-01 04:00:00 0 0
6 1 2016-01-01 05:00:00 0 0
7 1 2016-01-01 06:00:00 3 2
8 1 2016-01-01 07:00:00 11 2
9 1 2016-01-01 08:00:00 7 8
10 1 2016-01-01 09:00:00 34 24
11 1 2016-01-01 10:00:00 72 27
12 1 2016-01-01 11:00:00 91 52
13 1 2016-01-01 12:00:00 114 104
14 1 2016-01-01 13:00:00 210 115
15 1 2016-01-01 14:00:00 253 203
16 1 2016-01-01 15:00:00 300 245
17 1 2016-01-01 16:00:00 321 264
18 1 2016-01-01 17:00:00 334 366
19 1 2016-01-01 18:00:00 254 332
20 1 2016-01-01 19:00:00 147 313
21 1 2016-01-01 20:00:00 45 108
22 1 2016-01-01 21:00:00 0 0
23 1 2016-01-01 22:00:00 0 0
24 1 2016-01-01 23:00:00 0 0
25 1 2016-01-02 00:00:00 0 0
26 1 2016-01-02 01:00:00 0 0
27 1 2016-01-02 02:00:00 0 0
28 1 2016-01-02 03:00:00 0 0
29 1 2016-01-02 04:00:00 0 0
30 1 2016-01-02 05:00:00 0 0
31 1 2016-01-02 06:00:00 15 2
32 1 2016-01-02 07:00:00 59 20
33 1 2016-01-02 08:00:00 77 25
34 1 2016-01-02 09:00:00 136 34
35 1 2016-01-02 10:00:00 168 74
36 1 2016-01-02 11:00:00 205 122
37 1 2016-01-02 12:00:00 248 194
38 1 2016-01-02 13:00:00 396 259
39 1 2016-01-02 14:00:00 416 380
40 1 2016-01-02 15:00:00 419 411
41 1 2016-01-02 16:00:00 450 469
42 1 2016-01-02 17:00:00 351 468
43 1 2016-01-02 18:00:00 326 434
44 1 2016-01-02 19:00:00 266 418
45 1 2016-01-02 20:00:00 175 367
46 1 2016-01-02 21:00:00 96 233
47 1 2016-01-02 22:00:00 3 5
48 1 2016-01-02 23:00:00 0 0
49 1 2016-01-03 00:00:00 0 0
transmute(fecha,
acceso_id,
dia = wday(fecha),
hora = hour(fecha),
entrada,
salida)%>% group_by(acceso_id,dia,hora) %>%
summarise(meanEnt = mean(entrada),sdEnt = sd(entrada),meanSal = mean(salida),sdSal = sd(salida))%>% #summarise the values with the grouped columns
filter(acceso_id == acceso, dia %in% wday(hr), hora %in% hour(hr))%>%#filter the summarised values
mutate(fecha = c(hr)
您是否希望
变异?