【发布时间】:2018-04-06 03:30:06
【问题描述】:
我有一个包含以下列的 R data.table
Date Time X Y
5/9/2016 12:00:00 AM 30 125
5/9/2016 12:30:00 AM 27 127
5/9/2016 1:00:00 AM 30 133
5/9/2016 1:30:00 AM 25 115
5/9/2016 2:00:00 AM 26 116
5/9/2016 3:00:00 AM 34 128
5/9/2016 3:30:00 AM 34 120
5/9/2016 4:00:00 AM 26 133
5/9/2016 5:00:00 AM 35 119
5/9/2016 5:30:00 AM 35 126
5/9/2016 6:00:00 AM 35 118
5/9/2016 6:30:00 AM 28 120
5/9/2016 7:00:00 AM 29 123
5/9/2016 7:30:00 AM 30 125
5/9/2016 8:30:00 AM 35 116
5/9/2016 9:00:00 AM 32 123
5/9/2016 9:30:00 AM 33 135
5/9/2016 10:00:00 AM 32 127
5/9/2016 10:30:00 AM 26 122
5/9/2016 11:00:00 AM 28 122
5/9/2016 11:30:00 AM 31 129
5/9/2016 12:00:00 PM 29 127
5/9/2016 12:30:00 PM 26 120
5/9/2016 1:00:00 PM 32 126
5/9/2016 1:30:00 PM 26 117
5/9/2016 2:30:00 PM 32 133
5/9/2016 3:00:00 PM 31 120
5/9/2016 3:30:00 PM 35 129
5/9/2016 4:00:00 PM 30 121
5/9/2016 4:30:00 PM 35 132
5/9/2016 5:00:00 PM 27 129
5/9/2016 5:30:00 PM 27 122
5/9/2016 6:00:00 PM 28 121
5/9/2016 6:30:00 PM 35 127
5/9/2016 7:00:00 PM 34 132
5/9/2016 7:30:00 PM 25 133
5/9/2016 8:00:00 PM 34 119
5/9/2016 8:30:00 PM 33 125
5/9/2016 9:00:00 PM 29 120
5/9/2016 9:30:00 PM 34 125
5/9/2016 10:00:00 PM 31 118
5/9/2016 10:30:00 PM 33 118
5/9/2016 11:00:00 PM 28 115
5/9/2016 11:30:00 PM 34 126
5/10/2016 12:00:00 AM 34 131
5/10/2016 12:30:00 AM 25 130
5/10/2016 1:00:00 AM 28 129
5/10/2016 1:30:00 AM 26 132
我想要如下输出 -
Date Time X Y Rowcount@6hours
5/9/2016 12:00:00 AM 30 125 0
5/9/2016 12:30:00 AM 27 127 1
5/9/2016 1:00:00 AM 30 133 2
5/9/2016 1:30:00 AM 25 115 3
5/9/2016 2:00:00 AM 26 116 4
5/9/2016 3:00:00 AM 34 128 5
5/9/2016 3:30:00 AM 34 120 6
5/9/2016 4:00:00 AM 26 133 7
5/9/2016 5:00:00 AM 35 119 8
5/9/2016 5:30:00 AM 35 126 9
5/9/2016 6:00:00 AM 35 118 10
5/9/2016 6:30:00 AM 28 120 10
5/9/2016 7:00:00 AM 29 123 10
5/9/2016 7:30:00 AM 30 125 10
5/9/2016 8:30:00 AM 35 116 9
5/9/2016 9:00:00 AM 32 123 10
5/9/2016 9:30:00 AM 33 135 10
5/9/2016 10:00:00 AM 32 127 10
5/9/2016 10:30:00 AM 26 122 10
5/9/2016 11:00:00 AM 28 122 11
5/9/2016 11:30:00 AM 31 129 11
5/9/2016 12:00:00 PM 29 127 11
5/9/2016 12:30:00 PM 26 120 11
5/9/2016 1:00:00 PM 32 126 11
5/9/2016 1:30:00 PM 26 117 11
5/9/2016 2:30:00 PM 32 133 11
5/9/2016 3:00:00 PM 31 120 11
5/9/2016 3:30:00 PM 35 129 11
5/9/2016 4:00:00 PM 30 121 11
5/9/2016 4:30:00 PM 35 132 11
5/9/2016 5:00:00 PM 27 129 11
5/9/2016 5:30:00 PM 27 122 11
5/9/2016 6:00:00 PM 28 121 11
5/9/2016 6:30:00 PM 35 127 11
5/9/2016 7:00:00 PM 34 132 11
5/9/2016 7:30:00 PM 25 133 11
5/9/2016 8:00:00 PM 34 119 11
5/9/2016 8:30:00 PM 33 125 11
5/9/2016 9:00:00 PM 29 120 12
5/9/2016 9:30:00 PM 34 125 12
5/9/2016 10:00:00 PM 31 118 12
5/9/2016 10:30:00 PM 33 118 12
5/9/2016 11:00:00 PM 28 115 12
5/9/2016 11:30:00 PM 34 126 12
5/10/2016 12:00:00 AM 34 131 12
5/10/2016 12:30:00 AM 25 130 12
5/10/2016 1:00:00 AM 28 129 12
5/10/2016 1:30:00 AM 26 132 12
所以我的目标是计算我在过去 n 小时内获得的行数(例如 n=6)并将其附加到每一行(我想使用该值来确定 @987654327 中的 width 参数@ 职能)。这里的数据粒度为 30 分钟,但它可以更改为秒级别(并且也可能是不均匀的!)并且可能会丢失行
我尝试使用window.zoo 和xts,但无法找到解决方案。我在另一个链接中发布了同样的问题,那里的回复在一天内有效,但不是跨天Count number of rows between two timestamps in R dataframe
【问题讨论】:
-
您知道
Date中有2015 年的日期吗? (第 3 行和第 10 行) -
请edit 您的问题并发布
dput(<your_data.table>)的输出。这将有助于节省那些愿意帮助您的人的时间。请另见minimal reproducible example。谢谢。 -
我在 Excel 中编辑了输入和输出,以展示我的输入和输出应该是什么样子。很抱歉造成混淆。
标签: r data.table time-series