shiftdata: Shift data to operate on specified dimension

View source: R/shiftdata.R

shiftdataR Documentation

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

unshiftdata

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 documentation built on Sept. 12, 2024, 6:27 a.m.