diff2: Lagged Differences

Description Usage Arguments Value Examples

Description

This is a faster version of base R function diff. For optimal speed, use integer = TRUE if x is an integer vector and integer = FALSE otherwise.

Usage

1
diff2(x, lag = 1, integer = FALSE)

Arguments

x

Integer or numeric vector.

lag

Integer value.

integer

Logical value for whether x is an integer vector.

Value

Integer or numeric value.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# diff2 vs. diff for integer vector and 1-unit lag
x <- rpois(1000, lambda = 5)
all.equal(diff(x), diff2(x, integer = TRUE))
benchmark(diff(x), diff2(x, integer = TRUE), replications = 5000)

# diff2 vs. diff for integer vector and 3-unit lag
x <- rpois(1000, lambda = 5)
all.equal(diff(x, 2), diff2(x, 2, integer = TRUE))
benchmark(diff(x, 2), diff2(x, 2, integer = TRUE), replications = 5000)

# diff2 vs. diff for numeric vector and 1-unit lag
x <- rnorm(1000)
all.equal(diff(x), diff2(x))
benchmark(diff(x), diff2(x), replications = 5000)

# diff2 vs. diff for numeric vector and 3-unit lag
x <- rnorm(1000)
all.equal(diff(x, 2), diff2(x, 2))
benchmark(diff(x, 2), diff2(x, 2), replications = 5000)

vandomed/crowdopt documentation built on May 26, 2019, 5:35 a.m.