Learn R Programming

ade4 (version 1.5-2)

orthogram: Orthonormal decomposition of variance

Description

This function is deprecated. See orthogram in adephylo. This function performs the orthonormal decomposition of variance of a quantitative variable on an orthonormal basis. It also returns the results of five non parametric tests associated to the variance decomposition. It thus provides tools (graphical displays and test) for analysing phylogenetic, spatial and temporal pattern of one quantitative variable.

Usage

orthogram(x, orthobas = NULL, neig = NULL, phylog = NULL,
     nrepet = 999, posinega = 0, tol = 1e-07, na.action = c("fail",
     "mean"), cdot = 1.5, cfont.main = 1.5, lwd = 2, nclass,
     high.scores = 0,alter=c("greater", "less", "two-sided"))

Arguments

x
a numeric vector corresponding to the quantitative variable
orthobas
an object of class 'orthobasis'
neig
an object of class 'neig'
phylog
an object of class 'phylog'
nrepet
an integer giving the number of permutations
posinega
a parameter for the ratio test. If posinega > 0, the function computes the ratio test.
tol
a tolerance threshold for orthonormality condition
na.action
if 'fail' stops the execution of the current expression when z contains any missing value. If 'mean' replaces any missing values by mean(z)
cdot
a character size for points on the cumulative decomposition display
cfont.main
a character size for titles
lwd
a character size for dash lines
nclass
a single number giving the number of cells for the histogram
high.scores
a single number giving the number of vectors to return. If > 0, the function returns labels of vectors that explains the larger part of variance.
alter
a character string specifying the alternative hypothesis, must be one of "greater" (default), "less" or "two-sided"

Value

  • If (high.scores = 0), returns an object of class 'krandtest' (randomization tests) corresponding to the five non parametric tests. If (high.scores > 0), returns a list containg :
  • w: an object of class 'krandtest' (randomization tests)
  • scores.order: a vector which terms give labels of vectors that explain the larger part of variance

encoding

latin1

Details

The function computes the variance decomposition of a quantitative vector x on an orthonormal basis B. The variable is normalized given the uniform weight to eliminate problem of scales. It plots the squared correlations $R^{2}$ between x and vectors of B (variance decomposition) and the cumulated squared correlations $SR^{2}$ (cumulative decomposition). The function also provides five non parametric tests to test the existence of autocorrelation. The tests derive from the five following statistics : [object Object],[object Object],[object Object],[object Object],[object Object]

References

Ollier, S., Chessel, D. and Couteron, P. (2005) Orthonormal Transform to Decompose the Variance of a Life-History Trait across a Phylogenetic Tree. Biometrics, 62, 471--477.

See Also

gridrowcol, orthobasis, mld

Examples

Run this code
# a phylogenetic example
data(ungulates)
ung.phy <- newick2phylog(ungulates$tre)
FemBodyMass <- log(ungulates$tab[,1])
NeonatBodyMass <- log((ungulates$tab[,2]+ungulates$tab[,3])/2)
plot(FemBodyMass,NeonatBodyMass, pch = 20, cex = 2)
abline(lm(NeonatBodyMass~FemBodyMass))
z <- residuals(lm(NeonatBodyMass~FemBodyMass))
dotchart.phylog(ung.phy,val = z, clabel.n = 1,
     labels.n = ung.phy$Blabels, cle = 1.5, cdot = 2)
table.phylog(ung.phy$Bscores, ung.phy,clabel.n = 1,
     labels.n = ung.phy$Blabels)
orthogram(z, ung.phy$Bscores)
orthogram(z, phyl=ung.phy) # the same thing

# a spatial example
data(irishdata)
neig1 <- neig(mat01 = 1*(irishdata$link > 0))
sco1 <- scores.neig(neig1)
z <- scalewt(irishdata$tab$cow)
orthogram(z, sco1)

# a temporal example
data(arrival)
w <- orthobasis.circ(24)
orthogram(arrival$hours, w)
par(mfrow = c(1,2))
dotcircle(arrival$hours)
dotcircle(w[,2])
par(mfrow = c(1,1))

data(lynx)
ortho <- orthobasis.line(114)
orthogram(lynx,ortho)
attributes(lynx)$tsp
par(mfrow = c(2,1))
par(mar = c(4,4,2,2))
plot.ts(lynx)
plot(ts(ortho[,23], start = 1821, end = 1934, freq = 1), ylab = "score 23")
par(mfrow = c(1,1))

Run the code above in your browser using DataLab