我有一个tick数据的data.table
,想要将其聚合成秒级时间框架。获取max
、min
和last
相当简单:
data[, list(max(value), min(value), last(value)), by=time]
我在努力获取对应于某个秒级时间戳的第一个数据点。手册中没有相关内容。是否有一种像SQL TOP
那样简单的方法来解决这个问题?
我有一个tick数据的data.table
,想要将其聚合成秒级时间框架。获取max
、min
和last
相当简单:
data[, list(max(value), min(value), last(value)), by=time]
我在努力获取对应于某个秒级时间戳的第一个数据点。手册中没有相关内容。是否有一种像SQL TOP
那样简单的方法来解决这个问题?
[
来提取该列的第一个值。data[, list(value[1], max(value), min(value), last(value)),by=time]
看起来first
是一个有效的聚合函数。
foo <- data.table(x=1:10, y=11:20)
x y
1: 1 11
2: 2 12
3: 3 13
4: 4 14
5: 5 15
6: 6 16
7: 7 17
8: 8 18
9: 9 19
10: 10 20
foo[, .(first(x), last(x))]
V1 V2
1: 1 10
first(value)
is equivalent tovalue[1]
andlast(value)
tovalue[.N]
- Uwe