У меня есть данные, для которых я хотел бы применить функцию прокрутки, чтобы определить, в какой момент значение превышает специфический порог.
library(tidyverse)
df <- tibble(
x = 1:10,
y = c(1, 3, 4, 1, 5, 34, 43, 1, 45, 3)
)
df
#> # A tibble: 10 x 2
#> x y
#> <int> <dbl>
#> 1 1 1
#> 2 2 3
#> 3 3 4
#> 4 4 1
#> 5 5 5
#> 6 6 34
#> 7 7 43
#> 8 8 1
#> 9 9 45
#> 10 10 3
Я хотел бы найти строку, для которойследующие 2 значения выше определенного порога (скажем, 30).Это приведет к следующему:
tibble(
x = 1:10,
y = c(1, 3, 4, 1, 5, 34, 43, 1, 45, 3),
i = c(FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE)
)
#> # A tibble: 10 x 3
#> x y i
#> <int> <dbl> <lgl>
#> 1 1 1 FALSE
#> 2 2 3 FALSE
#> 3 3 4 FALSE
#> 4 4 1 FALSE
#> 5 5 5 FALSE
#> 6 6 34 TRUE
#> 7 7 43 FALSE
#> 8 8 1 FALSE
#> 9 9 45 FALSE
#> 10 10 3 FALSE
У меня большой набор данных (несколько миллионов строк), поэтому я пытаюсь найти эффективное решение.Может быть, используя data.table
? Создано в 2019-02-26 пакетом представ. (v0.2.1)