Calculating moving average

前端 未结 16 1981
夕颜
夕颜 2020-11-21 23:55

I\'m trying to use R to calculate the moving average over a series of values in a matrix. The normal R mailing list search hasn\'t been very helpful though. There doesn\'t s

16条回答
  •  刺人心
    刺人心 (楼主)
    2020-11-22 00:38

    Here is example code showing how to compute a centered moving average and a trailing moving average using the rollmean function from the zoo package.

    library(tidyverse)
    library(zoo)
    
    some_data = tibble(day = 1:10)
    # cma = centered moving average
    # tma = trailing moving average
    some_data = some_data %>%
        mutate(cma = rollmean(day, k = 3, fill = NA)) %>%
        mutate(tma = rollmean(day, k = 3, fill = NA, align = "right"))
    some_data
    #> # A tibble: 10 x 3
    #>      day   cma   tma
    #>      
    #>  1     1    NA    NA
    #>  2     2     2    NA
    #>  3     3     3     2
    #>  4     4     4     3
    #>  5     5     5     4
    #>  6     6     6     5
    #>  7     7     7     6
    #>  8     8     8     7
    #>  9     9     9     8
    #> 10    10    NA     9
    

提交回复
热议问题