This function will take in a value column and return any number n
moving averages.
Usage
ts_sma_plot(
.data,
.date_col,
.value_col,
.sma_order = 2,
.func = mean,
.align = "center",
.partial = FALSE
)
Arguments
- .data
The data that you are passing, must be a data.frame/tibble.
- .date_col
The column that holds the date.
- .value_col
The column that holds the value.
- .sma_order
This will default to 1. This can be a vector like c(2,4,6,12)
- .func
The unquoted function you want to pass, mean, median, etc
- .align
This can be either "left", "center", "right"
- .partial
This is a bool value of TRUE/FALSE, the default is TRUE
Details
This function will accept a time series object or a tibble/data.frame. This is a
simple wrapper around timetk::slidify_vec()
. It uses that function to do the underlying
moving average work.
It can only handle a single moving average at a time and therefore if multiple are called for, it will loop through and append data to a tibble object.
Examples
df <- ts_to_tbl(AirPassengers)
out <- ts_sma_plot(df, date_col, value, .sma_order = c(3,6))
out$data
#> # A tibble: 288 × 5
#> index date_col value sma_order sma_value
#> <yearmon> <date> <dbl> <fct> <dbl>
#> 1 Jan 1949 1949-01-01 112 3 NA
#> 2 Feb 1949 1949-02-01 118 3 121.
#> 3 Mar 1949 1949-03-01 132 3 126.
#> 4 Apr 1949 1949-04-01 129 3 127.
#> 5 May 1949 1949-05-01 121 3 128.
#> 6 Jun 1949 1949-06-01 135 3 135.
#> 7 Jul 1949 1949-07-01 148 3 144.
#> 8 Aug 1949 1949-08-01 148 3 144
#> 9 Sep 1949 1949-09-01 136 3 134.
#> 10 Oct 1949 1949-10-01 119 3 120.
#> # ℹ 278 more rows
out$plots$static_plot
#> Warning: Removed 7 rows containing missing values or values outside the scale range
#> (`geom_line()`).