从R中的向量收集最大值

时间:2017-11-07 17:13:48

标签: r max finance

我正在尝试创建一个函数,该函数从总体的多个时间段收集最大值,并将它们存储在最大值的样本中(即块最大值)

到目前为止,我有:

function(pop, n)
{
    x <- length(pop)
    sample <- numeric(x/n)
    j=0
    i=0
    while(i<x)
    {
        sample[j] <- max(pop[i:i+n])
        j=j+1
        i=i+n
    }
    return(sample)
}

但是,我无法弄清楚计算最大值的正确方法。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您可以使用dplyr

library(dplyr)

block_max <- function(pop, n) {
  data.frame(pop = pop, group = ceiling(seq_along(pop) / n)) %>%
    group_by(group) %>%
    summarise(max_group = max(pop))
}
block_max(1:100, 11)