Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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:计算并在ggplot图上叠加事件系列基于分钟的总计_R_Ggplot2 - Fatal编程技术网

R:计算并在ggplot图上叠加事件系列基于分钟的总计

R:计算并在ggplot图上叠加事件系列基于分钟的总计,r,ggplot2,R,Ggplot2,考虑一个数据帧df,该数据帧具有从web服务器访问日志中提取的两个字段(下面的示例,持续时间以毫秒为单位,为了简化示例,让我们忽略日期) qplot(时间、持续时间、数据=df)为我提供了持续时间的图表。我想加上一行,显示每分钟的请求数。理想情况下,该行每分钟有一个数据点,时间为:30秒。如果这太复杂,一个可接受的替代方案是在一分钟内有一个具有相同值(请求计数)的步骤行 一种方法是trunc(df$time,units=c(“mins”)),然后将每分钟的请求计数计算到一个新列中,然后将其绘制成

考虑一个数据帧
df
,该数据帧具有从web服务器访问日志中提取的两个字段(下面的示例,持续时间以毫秒为单位,为了简化示例,让我们忽略日期)

qplot(时间、持续时间、数据=df)为我提供了持续时间的图表。我想加上一行,显示每分钟的请求数。理想情况下,该行每分钟有一个数据点,时间为:30秒。如果这太复杂,一个可接受的替代方案是在一分钟内有一个具有相同值(请求计数)的步骤行

一种方法是
trunc(df$time,units=c(“mins”))
,然后将每分钟的请求计数计算到一个新列中,然后将其绘制成图表


我想问的是,是否有更直接的方法来实现上述目标。谢谢。

以下内容可能会有所帮助。使用步骤和绘图创建数据框:

           time duration    sec sec2 diffsec2 step30s steps
1  18:17:26.552        8 26.552  552        0       0     0
2  18:17:26.632       10 26.632  632       80       1     1
3  18:17:26.681       12 26.681  681       49       0     0
4  18:17:26.733        4 26.733  733       52       1     1
5  18:17:26.778        5 26.778  778       45       0     0
6  18:17:26.832        5 26.832  832       54       1     1
7  18:17:26.889        4 26.889  889       57       1     2
8  18:17:26.931        3 26.931  931       42       0     0
9  18:17:26.991        3 26.991  991       60       1     1
10 18:17:27.040        5 27.040  040     -951       0     0
11 18:17:27.157        4 27.157  157      117       1     1
12 18:17:27.209       14 27.209  209       52       1     2
13 18:17:27.249        4 27.249  249       40       0     0
14 18:17:27.303        4 27.303  303       54       1     1
15 18:17:27.356       13 27.356  356       53       1     2
16 18:17:27.408       13 27.408  408       52       1     3
17 18:17:27.450        3 27.450  450       42       0     0
18 18:17:27.506       13 27.506  506       56       1     1
19 18:17:27.546        3 27.546  546       40       0     0
20 18:17:27.616        4 27.616  616       70       1     1
21 18:17:27.664        4 27.664  664       48       0     0
22 18:17:27.718        3 27.718  718       54       1     1
23 18:17:27.796       10 27.796  796       78       1     2
24 18:17:27.856        3 27.856  856       60       1     3
25 18:17:27.909        3 27.909  909       53       1     4
26 18:17:27.974        3 27.974  974       65       1     5
27 18:17:28.029        3 28.029  029     -945       0     0
> 
> ggplot(ddf)+geom_point(aes(x=time, y=duration))+geom_line(aes(x=time, y=steps, group=1),color='red')

如果
time
采用日期时间格式,则
cut
函数具有日期和日期时间对象的方法。例如,
df$timeCut=cut(df$time,breaks=“min”)
。有关详细信息,请参阅
?cut.Date
。另请参阅,以了解使用更灵活的
xts
软件包的方法。
           time duration    sec sec2 diffsec2 step30s steps
1  18:17:26.552        8 26.552  552        0       0     0
2  18:17:26.632       10 26.632  632       80       1     1
3  18:17:26.681       12 26.681  681       49       0     0
4  18:17:26.733        4 26.733  733       52       1     1
5  18:17:26.778        5 26.778  778       45       0     0
6  18:17:26.832        5 26.832  832       54       1     1
7  18:17:26.889        4 26.889  889       57       1     2
8  18:17:26.931        3 26.931  931       42       0     0
9  18:17:26.991        3 26.991  991       60       1     1
10 18:17:27.040        5 27.040  040     -951       0     0
11 18:17:27.157        4 27.157  157      117       1     1
12 18:17:27.209       14 27.209  209       52       1     2
13 18:17:27.249        4 27.249  249       40       0     0
14 18:17:27.303        4 27.303  303       54       1     1
15 18:17:27.356       13 27.356  356       53       1     2
16 18:17:27.408       13 27.408  408       52       1     3
17 18:17:27.450        3 27.450  450       42       0     0
18 18:17:27.506       13 27.506  506       56       1     1
19 18:17:27.546        3 27.546  546       40       0     0
20 18:17:27.616        4 27.616  616       70       1     1
21 18:17:27.664        4 27.664  664       48       0     0
22 18:17:27.718        3 27.718  718       54       1     1
23 18:17:27.796       10 27.796  796       78       1     2
24 18:17:27.856        3 27.856  856       60       1     3
25 18:17:27.909        3 27.909  909       53       1     4
26 18:17:27.974        3 27.974  974       65       1     5
27 18:17:28.029        3 28.029  029     -945       0     0
> 
> ggplot(ddf)+geom_point(aes(x=time, y=duration))+geom_line(aes(x=time, y=steps, group=1),color='red')