R值低于阈值

时间:2016-05-11 09:12:43

标签: r threshold

我有每日时间序列的风速,我希望R将连续天数的平均和最大长度返回到某个阈值以下。

示例(阈值= 2 m / s):

df > 
date              wind_speed
1970-01-01        1
1970-01-02        1
1970-01-03        3
1970-01-04        1
1970-01-05        1
1970-01-06        1
1970-01-07        3
1970-01-08        1

因此。在这个例子中,2米/秒以下的连续天数的最大长度为“3”,平均长度为“2”。 有没有办法在R中为大型数据集执行此操作?

提前致谢

1 个答案:

答案 0 :(得分:0)

未测试

library(dplyr)
treshold <- 2
df %>%
  filter(wind_speed < treshold) %>%
  arrange(date) %>%
  mutate(
    break = date - lag(date) > 1,
    series = cumsum(break)
  ) %>%
  group_by(series) %>%
  summarise(
    length = n(),
  )