Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的滚动极小值_R - Fatal编程技术网

R中的滚动极小值

R中的滚动极小值,r,R,我有以下结构的数据: 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 =

我有以下结构的数据:

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有没有一种简单的方法可以做到这一点?

可以选择:

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