Минимальный прокат в R - PullRequest
       2

Минимальный прокат в R

0 голосов
/ 22 февраля 2019

У меня есть данные со следующей структурой:

data.frame(value = c(1, 2, 10), date = as.Date(c('2018-01-01', '2018-01-02', '2018-01-04')))

, и я хочу вычислить скользящий минимум значения для строки с окном последних двух дней.То есть результат этого вычисления должен быть

data.frame(value = c(1, 2, 10), date = as.Date(c('2018-01-01', '2018-01-02', '2018-01-04')),
       minimum = c(1, 1, 10))

Есть ли простой способ сделать это, используя tidyverse?

1 Ответ

0 голосов
/ 22 февраля 2019

Может пойти на:

library(dplyr)

df %>%
  mutate(
    minimum = sapply(date, function(x) min(value[between(date, x - 1, x)]))
  )

Вывод:

  value       date minimum
1     1 2018-01-01       1
2     2 2018-01-02       1
3    10 2018-01-04      10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...