# Randomly generate 1 million values from a Poisson(3) distribution
x <- rpois(100000, 3)
# Calculate vector of differences between subsequent values
y <- diffs(x)
# Could get same result from base R function diff
z <- diff(x)
all(y == z)
# But diffs is much faster
benchmark(y = diffs(x))
benchmark(z = diff(x))
# diffs also much faster than diff for 2-lag difference
x <- rnorm(100000)
y <- diffs(x, 2)
z <- diff(x, 2)
all(y == z)
benchmark(y = diffs(x))
benchmark(z = diff(x))
Run the code above in your browser using DataLab