movMeanUE: Weighted Simple Moving Mean for Unevenly Spaced Time Series

Description Usage Arguments Details Value Functions Examples

View source: R/RcppExports.R

Description

This function returns A matrix: the first column is the position, the second column the input vector, and third column simple moving average of the given vector. The weight argument is optional.

Usage

1
2
3
4
5
movMeanUE(vec, pos, n = 1L, ss = 1L, w = NULL, na_rm = FALSE,
  sizeD = FALSE, align = "left")

movMeanUEr(vec, pos, n = 1L, ss = 1L, w = NULL, na_rm = FALSE,
  sizeD = FALSE)

Arguments

vec

A numeric vector.

pos

A numeric vector with all integers. Its length must be the SAME as vec. N.B. We use integers to represent the (relative) potions of every point.

n

An integer: moving window size, with 1 as default

ss

An integer: step size, only calculating at points with an equal distance ss. Namely, there are ss-1 number between each two 'consecutive' points

w

An optional weight vector of length n. It will be automatically normalized (sum to 1).

na_rm

logical. Should missing values (including NaN) be removed?

sizeD

logical. Only applied when ss > 1, it decides whether to get a result of smaller size. If sizeD = T, align does not affect the output.

align

A string denotes how to align the moving average, three options: "left", "middle", "right"

Details

This function is especially designed for Unevenly Spaced Time Series. It is efficient as it inherits the similar routine of movMean.
The result is kind of tricky. To make it clear, it is written to return a MATRIX. For instance, the third column of the output of second example is NA, 2.5, 4.0, NA, NA, NA, 3.0, 3.0, 8.0. 2.5 is the average of 1 and 4, and 4.0 the average of 4. The third column of the output of third example is the every third element starting from nth number.
For how weights, w, work, one can refer to movMean.

Value

This function returns A MATRIX of size: L*3, where L is the length of vector, or of size: L1*3, where L1 = ceiling((nrow - n + 1)/ss), (when sizeD = T). In the matrix, the first column denotes the position, the second column the original vector, and the third column the moving average.

Functions

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
movMeanUEr(c(1, 4, 3, NA, 8), pos = c(1, 2, 7, 8, 9), 2)
movMeanUEr(c(1, 4, 3, NA, 8), pos = c(1, 2, 7, 8, 9), n = 2, na_rm = TRUE)
movMeanUEr(c(1, 4, 3, NA, 8), pos = c(1, 2, 7, 8, 9), n = 2, ss = 3, na_rm = TRUE, 
sizeD = TRUE)
movMeanUE(c(1, 4, 3, NA, 8), pos = c(1, 2, 7, 8, 9), w = c(0, 1),  n = 2, 
ss = 3, na_rm = TRUE, align = "right")
movMeanUE(c(1, 4, 3, NA, 8), pos = c(1, 2, 7, 8, 9), n = 2, ss = 3, 
na_rm = TRUE, sizeD = TRUE, align = "right")
movMeanUEr(c(1, 4, 3, NA, 8), pos = c(1, 2, 7, 8, 9),  n = 2, ss = 3, 
na_rm = TRUE)
movMeanUEr(c(1, 4, 3, NA, 8), pos = c(1, 2, 7, 8, 9), n = 2, ss = 3, na_rm = TRUE, 
sizeD = TRUE)
movMeanUE(rnorm(50), pos = sort(sample(1:100, 50, replace = FALSE)),  n = 5, 
ss = 10, na_rm = TRUE, align = "right")

RcppMovStat documentation built on Jan. 30, 2018, 5:04 p.m.