R计算组的规则间隔

R Calculate Regular Intervals for Groups

我有一个数据集,其中包含以随机间隔(每个样本之间 1-30 秒)收集的 GPS 位置数据,这些数据是在不同的几天为许多人收集的。

我想做的是为我的数据创建规则的时间间隔,这意味着丢弃多余的样本并可能通过线性插值生成样本。

我发现存在 cut() 函数,但这会获取数据框中的所有记录并将它们分成相同大小的间隔,而不是相同的时间间隔。我也在尝试为每个人执行此操作,这样我就可以为每个人和每一天得到固定间隔的数据。

# Using cut breaks it into same size chunks, not based on time
intervalDF1 = DF %>%
  group_by(interval = cut(time, breaks = '10 sec'))

# Using seq gives a new vector of all intervals but doesn't transform the data
intervalDF2 <- seq(from = 0, to = max(entityState$time), by = 10)

预期的结果是在任何给定的一天为任何给定的个人采集这些随机样本,并以每 10 秒的插值样本结束。有谁知道在 R 中执行此操作的好方法,最好使用 dplyr?

使用我的 {santoku} 包:

library(lubridate)
library(santoku)

x <- Sys.time() + 1:20
chop_width(x, seconds(5), labels = lbl_dash(fmt = "%M:%S"))
 [1] 14:01—14:06 14:01—14:06 14:01—14:06 14:01—14:06 14:01—14:06 14:06—14:11
 [7] 14:06—14:11 14:06—14:11 14:06—14:11 14:06—14:11 14:11—14:16 14:11—14:16
[13] 14:11—14:16 14:11—14:16 14:11—14:16 14:16—14:21 14:16—14:21 14:16—14:21
[19] 14:16—14:21 14:16—14:21
Levels: 14:01—14:06 14:06—14:11 14:11—14:16 14:16—14:21