orthogram                package:ade4                R Documentation

_O_r_t_h_o_n_o_r_m_a_l _d_e_c_o_m_p_o_s_i_t_i_o_n _o_f _v_a_r_i_a_n_c_e

_D_e_s_c_r_i_p_t_i_o_n:

     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.

_U_s_a_g_e:

     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)

_A_r_g_u_m_e_n_t_s:

       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.

_D_e_t_a_i_l_s:

     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 :

_R_2_M_a_x =max(R^2). It takes high value when a high part of the
     variability is explained by one score.

_S_k_R_2_k =sum_i i*(R^2)_i. It compares the part of variance explained by
     internal nodes to the one explained by end nodes.

_D_m_a_x =max((SR^2)_j - (SR^2)_(j-1)). It examines the accumulation of
     variance for a sequence of scores.

_S_C_E =sum_i ((SR^2)_i - (SR^2)_(i-1))^2. It examines also the
     accumulation of variance for a sequence of scores.

_r_a_t_i_o depends of the parameter posinega. If posinega > 0, the statistic
     ratio exists and equals sum_i (R^2)_i with i < posinega + 1. It
     compares the part of variance explained by internal nodes to the
     one explained by end nodes when we can define how many vectors
     correspond to internal nodes.

_V_a_l_u_e:

     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

_A_u_t_h_o_r(_s):

     Sbastien Ollier ollier@biomserv.univ-lyon1.fr 
      Daniel Chessel chessel@biomserv.univ-lyon1.fr

_R_e_f_e_r_e_n_c_e_s:

     Ollier, S., Chessel, D. and Couteron, P. (submitted) Orthonormal
     transform to detect and  describe phylogenetic autocorrelation.
     _Biometrics_.

_S_e_e _A_l_s_o:

     'gridrowcol', 'orthobasis', 'mld'

_E_x_a_m_p_l_e_s:

     # 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))

