Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何筛选具有时间序列分组平均值的表,以将每个平均值分配给平均值的实际日期?_R_Dplyr - Fatal编程技术网

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)

您是否希望
变异