mwd.object
ect (e.g. returned from mwd
) are packed into a single matrix in that structure. TRUE his function extracts the data corresponding to a particular resolution level.## S3 method for class 'mwd':
accessC(mwd, level = nlevelsWT(mwd), ...)
mwd$filter$npsi
rows containing the extracted data of all the coefficients at that level.For decomposition, the top level contains the original data, and subsequent lower levels contain the successively smoothed data. So if there are mwd$filter$npsi*2^m
original data points (mwd$filter$npsi
is the multiplicity of wavelets), there will be m+1
levels indexed 0,1,...,m. So
accessC.mwd(Mwd, level=m)
pulls out the original data, as does
accessC.mwd(mwd)
To get hold of lower levels just specify the level that you're interested in, e.g.
accessC.mwd(mwd, level=2)
Gets hold of the second level.
The need for this function is a consequence of the pyramidal structure of Mallat's algorithm and the memory efficiency gain achieved by storing the pyramid as a linear matrix of coefficients. AccessC obtains information about where the smoothed data appears from the fl.dbase component of mwd, in particular the array fl.dbase$first.last.c
which gives a complete specification of index numbers and offsets for mwd$C
.
Note also that this function only gets information from mwd class objects. To put coefficients into mwd structures you have to use the putC.mwd function.
See Downie and Silverman, 1998.
accessD.mwd
, draw.mwd
, mfirst.last
, mfilter.select
, mwd
, mwd.object
, mwr
, plot.mwd
, print.mwd
, putC.mwd
, putD.mwd
, summary.mwd
, threshold.mwd
, wd
#
# Get the 3rd level of smoothed data from a decomposition
#
dat <- rnorm(32)
accessC.mwd(mwd(dat), level=3)
Run the code above in your browser using DataLab