鉴于时间轴中存在间隙的数据框......
date value
2013-09-03 1
2014-03-08 1
2014-03-19 2815
2014-03-20 13403
2014-03-21 26950
...什么是找到时间轴连续的第一个日期的有效方法? (在上面的例子中,2014-03-19。)
我有一个简单的解决方案......
dt <- max(df$date)
while (length(df[df$date == dt[1] - 1, 1]) == 1) {
dt <- append(dt[1] - 1, dt)
}
...但是由于我必须循环访问大量数据,因此更高效的东西会更好。
答案 0 :(得分:1)
您可以使用以下min
which
和diff
的组合:
min(which(diff(x$date) == 1))
这将为您提供第一行,后面是下一行中的连续日期,在您的示例中,第3行。但是,它不会检查列的其余部分是否也是连续的。