https://github.com/cran/ftsa
Tip revision: 415368d78ea30230e9017d72e83432baec81b1c9 authored by Han Lin Shang on 11 May 2010, 00:00:00 UTC
version 1.7
version 1.7
Tip revision: 415368d
diff.default.R
diff.default = function (x, lag = 1, differences = 1, ...)
{
ismat <- is.matrix(x)
xlen <- if (ismat)
dim(x)[1L]
else length(x)
if (length(lag) > 1L || length(differences) > 1L || lag <
1L || differences < 1L)
stop("'lag' and 'differences' must be integers >= 1")
if (lag * differences >= xlen)
return(x[0])
r <- unclass(x)
i1 <- -1L:-lag
if (ismat)
for (i in 1L:differences) r <- r[i1, , drop = FALSE] -
r[-nrow(r):-(nrow(r) - lag + 1), , drop = FALSE]
else for (i in 1L:differences) r <- r[i1] - r[-length(r):-(length(r) -
lag + 1)]
class(r) <- oldClass(x)
r
}