orthobasis {ade4} | R Documentation

## Orthonormal basis for orthonormal transform

### Description

These functions returns object of class `'orthobasis'` that contains data frame with n rows and n-1 columns. Each data frame defines an orthonormal basis for the uniform weights.

`orthobasic.neig` returns the eigen vectors of the matrix N-M where M is the symmetric n by n matrix of the between-sites neighbouring graph and N is the diagonal matrix of neighbour numbers.
`orthobasis.line` returns the analytical solution for the linear neighbouring graph.
`orthobasic.circ` returns the analytical solution for the circular neighbouring graph.
`orthobsic.mat` returns the eigen vectors of the general link matrix M.
`orthobasis.listw` returns the eigen vectors of the general link matrix M associated to a `listw` object.
`orthobasis.haar` returns wavelet haar basis.

### Usage

    orthobasis.neig(neig)
    orthobasis.line(n)
    orthobasis.circ(n)
    orthobasis.mat(mat, cnw=TRUE)
    orthobasis.listw(listw)
    orthobasis.haar(n)
    print.orthobasis(x,...)

### Arguments

`neig` | is an object of class `neig`
`n` | is an integer that defines length of vectors
`mat` | is a n by n phylogenetic or spatial link matrix
`listw` | is a `'listw'` object
`cnw` | if TRUE, the matrix of the neighbouring graph is modified to give Constant Neighbouring Weights
`x` | is an object of class `orthobasis`
`...` | : further arguments passed to or from other methods

### Value

All the functions excepted `print.ortobasis` return an object of class `orthobasis` containing a data frame. This data frame defines an orthonormal basis with n-1 vectors of length n. Various attributes are associated to it :

`names` | : names of the vectors
`row.names` | : row names of the data frame
`class` | : class
`values` | : row weights (uniform weights)
`weights` | : numeric values to class vectors according to their quadratic forms (Moran ones)
`call` | : call

### Note

the function `orthobasis.haar` uses function `wavelet.filter` from package waveslim.

### Author(s)

Sébastien Ollier ollier@biomserv.univ-lyon1.fr
Daniel Chessel chessel@biomserv.univ-lyon1.fr

### References

Misiti, M., Misiti, Y., Oppenheim, G. and Poggi, J.M. (1993) Analyse de signaux classiques par décomposition en ondelettes. Revue de Statistique Appliquée, 41, 5–32.

Cornillon, P.A. (1998) Prise en compte de proximités en analyse factorielle et comparative. Thèse, Ecole Nationale Supérieure Agronomique, Montpellier.

### See Also

`gridrowcol` that defines an orthobasis for square grid, `phylog` that defines an orthobasis for phylogenetic tree, `orthogram` and `mld`

### Examples

    # a 2D spatial orthobasis
    par(mfrow = c(4,4))
    w <- gridrowcol(8,8)
     for (k in 1:16)
        s.value(w$xy, w$orthobasis[,k], cleg = 0, csi = 2, incl = FALSE,
         addax = FALSE, sub = k, csub = 4, ylim = c(0,10), cgri = 0)
    par(mfrow = c(1,1))
    barplot(attr(w$orthobasis, "values"))

    # Haar 1D orthobasis
    w <- orthobasis.haar(32)
    par(mfrow = c(8,4))
    par(mar = c(0.1,0.1,0.1,0.1))
     for (k in 1:31) {
        plot(w[,k], type="S",xlab = "", ylab = "", xaxt = "n",
         yaxt = "n", xaxs = "i", yaxs = "i",ylim=c(-4.5,4.5))
        points(w[,k], type = "p", pch = 20, cex = 1.5)
    }

    # a 1D orthobasis
    w <- orthobasis.line(n = 33)
    par(mfrow = c(8,4))
    par(mar = c(0.1,0.1,0.1,0.1))
     for (k in 1:32) {
        plot(w[,k], type="l",xlab = "", ylab = "", xaxt = "n",
         yaxt = "n", xaxs = "i", yaxs = "i",ylim=c(-1.5,1.5))
        points(w[,k], type = "p", pch = 20, cex = 1.5)
    }

    par(mfrow = c(1,1))
    barplot(attr(w, "values"))

    w <- orthobasis.circ(n = 26)
    #par(mfrow = c(5,5))
    #par(mar = c(0.1,0.1,0.1,0.1))
    # for (k in 1:25)
    #    dotcircle(w[,k], xlim = c(-1.5,1.5), cleg = 0)

    par(mfrow = c(1,1))
    #barplot(attr(w, "values"))

    ## Not run:
    # a spatial orthobasis
    data(mafragh)
    w <- orthobasis.neig(mafragh$neig)
    par(mfrow = c(4,2))
    for (k in 1:8)
        s.value(mafragh$xy, w[,k],cleg = 0, sub = as.character(k),
         csub = 3)

    par(mfrow = c(1,1))
    barplot(attr(w, "values"))

    # a phylogenetic orthobasis
    data(njplot)
    phy <- newick2phylog(njplot$tre)
    wA <- phy$Ascores
    wW <- phy$Wscores
    table.phylog(phylog = phy, wA, clabel.row = 0, clabel.col  = 0.5)
    table.phylog(phylog = phy, wW, clabel.row = 0, clabel.col  = 0.5)

    ## End(Not run)

[Package Contents]