Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

shiftdata

Shift data to operate on specified dimension


Description

Shift data in to permute the dimension dimx to the first column.

Usage

shiftdata(x, dimx)

Arguments

x

The data to be shifted. Can be of any type.

dimx

Dimension of x to be shifted to the first column. Named "dimx" instead of "dim" to avoid confusion with R's dim() function. Default: NULL (shift the first nonsingleton dimension)

Details

shiftdata(x, dimx) shifts data x to permute dimension dimx to the first column using the same permutation as the built-in filter function. The vector perm in the output list returns the permutation vector that is used.

If dimx is missing or empty, then the first nonsingleton dimension is shifted to the first column, and the number of shifts is returned in nshifts.

shiftdata is meant to be used in tandem with unshiftdata, which shifts the data back to its original shape. These functions are useful for creating functions that work along a certain dimension, like filter, sgolayfilt, and sosfilt.

Value

A list containing 3 variables; x, the shifted data, perm, the permutation vector, and nshifts, the number of shifts

Author(s)

Georgios Ouzounis, ouzounis_georgios@hotmail.com.
Conversion to R by Geert van Boxtel, G.J.M.vanBoxtel@gmail.com.

See Also

Examples

## create a 3x3 magic square
x <- pracma::magic(3)
## Shift the matrix x to work along the second dimension.
## The permutation vector, perm, and the number of shifts, nshifts,
## are returned along with the shifted matrix.
sd <- shiftdata(x, 2)

## Shift the matrix back to its original shape.
y <- unshiftdata(sd)

## Rearrange Array to Operate on First nonsingleton Dimension
x <- 1:5
sd <- shiftdata(x)
y <- unshiftdata(sd)

gsignal

Signal Processing

v0.3-1
GPL-3
Authors
Geert van Boxtel [aut, cre] (Maintainer), Tom Short [aut] (Author of 'signal' package), Paul Kienzle [aut] (Majority of the original sources), Ben Abbott [ctb], Juan Aguado [ctb], Muthiah Annamalai [ctb], Leonardo Araujo [ctb], William Asquith [ctb], David Bateman [ctb], David Billinghurst [ctb], Juan Pablo Carbajal [ctb], André Carezia [ctb], Vincent Cautaerts [ctb], Eric Chassande-Mottin [ctb], Luca Citi [ctb], Dave Cogdell [ctb], Carlo de Falco [ctb], Carne Draug [ctb], Pascal Dupuis [ctb], John W. Eaton [ctb], R.G.H Eschauzier [ctb], Andrew Fitting [ctb], Alan J. Greenberger [ctb], Mike Gross [ctb], Daniel Gunyan [ctb], Kai Habel [ctb], Kurt Hornik [ctb], Jake Janovetz [ctb], Alexander Klein [ctb], Peter V. Lanspeary [ctb], Bill Lash [ctb], Friedrich Leissh [ctb], Laurent S. Mazet [ctb], Mike Miller [ctb], Petr Mikulik [ctb], Paolo Neis [ctb], Georgios Ouzounis [ctb], Sylvain Pelissier [ctb], Francesco Potortì [ctb], Charles Praplan [ctb], Lukas F. Reichlin [ctb], Tony Richardson [ctb], Asbjorn Sabo [ctb], Thomas Sailer [ctb], Rolf Schirmacher [ctb], Rolf Schirmacher [ctb], Ivan Selesnick [ctb], Julius O. Smith III [ctb], Peter L. Soendergaard [ctb], Quentin Spencer [ctb], Doug Stewart [ctb], P. Sudeepam [ctb], Stefan van der Walt [ctb], Andreas Weber [ctb], P. Sudeepam [ctb], Andreas Weingessel [ctb]
Initial release
2021-05-02

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.