【发布时间】:2016-05-20 01:47:26
【问题描述】:
在以下数据集中,我按自行车计数为零的实例过滤了 JSON 间隔。 station_summary_id 代表一个时间间隔,并以连续整数递增(在示例中,您看到 64129 与“2014-10-01 07:00:00”相关联,然后 64130 与“2014-10-01 07:10”相关联:00" 等。station_id 是电台的唯一 ID。
我的目标是:通过station_id 找到最长的连续整数链 - 换句话说 - 找出每个站为空的最长时间段。我知道这需要首先按station_id 分组,然后计算station_summary_id 中最长的连续序列,但我不确定如何为所有站ID 自动执行此操作。
可重现的例子:
> 输入(数据) 结构(列表(station_id = c(2L,2L,2L,2L,2L,2L,2L,2L, 2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L, 2L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L, 3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,4L,4L,4L,4L,4L,4L, 4L,4L,4L,4L,4L,4L,4L,4L,4L,4L,4L,4L,4L,4L,4L,4L, 4L, 4L, 4L), 状态 = 结构(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = "Active", class= "factor"), available_bike_count = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), station_summary_id = c(64129L, 64130L、64131L、64132L、64133L、64134L、64136L、64138L、64139L、 64140L、64141L、64142L、64143L、64144L、64145L、64146L、64147L、 64148L、64149L、64150L、64152L、64161L、64162L、64170L、64273L、 64322L、64324L、64341L、64884L、64886L、64896L、64897L、64898L、 64899L、64900L、64901L、64902L、64903L、64904L、64905L、64906L、 64907L、64908L、64909L、64910L、64911L、64912L、64913L、64917L、 64918L、65214L、65219L、66314L、66439L、66450L、66583L、66587L、 66589L、66600L、66872L、66880L、67037L、67048L、82854L、82855L、 82856L、82857L、82858L、82859L、82860L、82861L、82862L、82863L、 82867L, 82868L), 月 = c(10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L, 10L), 年份 = c(2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2014L, 2015L, 2015L, 2015L, 2015L, 2015L, 2015L, 2015L, 2015L, 2015L, 2015L, 2015L, 2015L)), .Names = c("station_id", “状态”、“available_bike_count”、“station_summary_id”、“月”、 "年"), row.names = c(NA, -75L), class= "data.frame")【问题讨论】:
-
您的示例不完整。您必须添加您期望从示例中获得的输出。你认为什么输出是正确的答案。