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