有一个用户在 3 周前之后的事件的样本数据:
> subret
uid event_name date count
2 10225 _e_io 2013-07-23 2
3 10225 _e_io 2013-07-24 3
4 10225 _e_io 2013-07-25 7
5 10225 _e_io 2013-07-26 6
6 10225 _e_io 2013-07-27 11
7 10225 _e_io 2013-07-28 4
8 10225 _e_io 2013-07-29 4
9 10225 _e_io 2013-07-30 2
10 10225 _e_io 2013-07-31 3
11 10225 _e_io 2013-08-01 1
12 10225 _e_io 2013-08-02 5
13 10225 _e_io 2013-08-03 2
14 10225 _e_io 2013-08-04 9
15 10225 _e_io 2013-08-05 13
16 10225 _e_io 2013-08-06 4
17 10225 _e_io 2013-08-07 14
18 10225 _e_io 2013-08-08 15
19 10225 _e_io 2013-08-09 11
20 10225 _e_io 2013-08-10 7
21 10225 _e_io 2013-08-11 2
22 10225 _e_renderer-load 2013-08-06 3
23 10225 _e_unknown 2013-07-29 1
24 10225 _e_unknown 2013-07-31 1
25 10225 _e_unknown 2013-08-01 1
26 10225 _e_unknown 2013-08-02 1
27 10225 _e_unknown 2013-08-06 4
28 10225 _e_unknown 2013-08-08 7
29 10225 _e_unknown 2013-08-10 3
我不知道如何获得每周减去事件的价值。很难为一项一项提供丢失日期计数的事件进行操作。R 是否支持将值减去作为一致的键匹配(如merge
)?
它的意思是:
> ta <- (subret[subret$event_name == "_e_io" & subret$date <= as.Date("2013-07-29"), ])
> tb <- (subret[subret$event_name == "_e_io" & subret$date > as.Date("2013-07-29") & subret$date <= as.Date("2013-08-05"), ])
> (ta$count - tb$count / ta$count)
[1] 1.000000 2.000000 6.857143 5.166667 10.818182 1.750000 0.750000
我可以在一周中的每一天获得增长速度。
更新
对不起操作优先级。每周变化的速度应该是:
> ((ta$count - tb$count) / ta$count)
[1] 0.0000000 0.0000000 0.8571429 0.1666667 0.8181818 -1.2500000 -2.2500000
一周的日期是完整的没关系_e_io
,但对于其他一周的日期不完整。这是真的我需要先填充日期对齐吗?(使用merge
?)