R: Transform a 'dataf' Object to Raw Functional Data

dataf2rawfd {ddalpha} | R Documentation

## Transform a `dataf` Object to Raw Functional Data

### Description

From a (possibly multivariate) functional data object `dataf` constructs an array of the functional values evaluated at an equi-distant grid of points.

### Usage

    dataf2rawfd(dataf, range = NULL, d = 101)

### Arguments

`dataf` | Functions to be transformed, represented by a (possibly multivariate) `dataf` object of their arguments and functional values. `m` stands for the number of functions. The grid of observation points for the functions in `dataf` may not be the same.
`range` | The common range of the domain where the functions `dataf` are observed. Vector of length 2 with the left and the right end of the interval. Must contain all arguments given in `dataf`. If the range is not provided, the smallest interval in which all the arguments from the data functions are contained is chosen as the domain.
`d` | Grid size to which all the functional data are transformed. All functional observations are transformed into vectors of their functional values of length `d` corresponding to equi-spaced points in the domain given by the interval `range`. Functional values in these points are reconstructed using linear interpolation, and extrapolation, see Nagy et al. (2016).

### Value

If the functional data are univariate (scalar-valued), a matrix of size `m*d` is given, with each row corresponding to one function. If the functional data are `k`-variate with k>1, an array of size `m*d*k` of the functional values is given.

### Author(s)

Stanislav Nagy, nagy at karlin.mff.cuni.cz

### See Also

`rawfd2dataf`

`depthf.fd1`

`depthf.fd2`

### Examples

    ## transform a matrix into a functional data set and back
    n = 5
    d = 21
    X = matrix(rnorm(n*d),ncol=d)
    R = rawfd2dataf(X,range=c(0,1))
    R2 = dataf2rawfd(R,range=c(0,1),d=d)
    all.equal(X,R2)

    ## transform a functional dataset into a raw matrix of functional values
    dataf = dataf.population()$dataf
    dataf2rawfd(dataf,range=c(1950,2015),d=66)

    ## transform an array into a multivariate functional data set and back
    k = 3
    X = array(rnorm(n*d*k),dim=c(n,d,k))
    R = rawfd2dataf(X,range=c(-1,1))
    dataf2rawfd(R,range=c(-1,1),d=50)

[Package ddalpha version 1.3.11 Index]