procuste                package:ade4                R Documentation

_S_i_m_p_l_e _P_r_o_c_r_u_s_t_e _R_o_t_a_t_i_o_n _b_e_t_w_e_e_n _t_w_o _s_e_t_s _o_f _p_o_i_n_t_s

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

     performs a simple procruste rotation between two sets of points.

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

     procuste(df1, df2, scale = TRUE, nf = 4, tol = 1e-07) 
     plot.procuste (x, xax = 1, yax = 2, ...)
     print.procuste (x, ...)

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

df1, df2: two data frames with the same rows

   scale: a logical value indicating whether a transformation by the
          Gower's scaling (1971) should be applied

      nf: an integer indicating the number of kept axes

     tol: a tolerance threshold to test whether the distance matrix is
          Euclidean : an eigenvalue is considered positive if it is
          larger than '-tol*lambda1' where 'lambda1' is the largest
          eigenvalue.

       x: an objet of class 'procuste'

     xax: the column number for the x-axis

     yax: the column number for the y-axis

     ...: further arguments passed to or from other methods

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

     returns a list of 9 components of the class 'procuste' 

       d: a numeric vector of the singular values

    rank: an integer indicating the rank of the crossed matrix

   nfact: an integer indicating the number of kept axes

    tab1: a data frame with the array 1, possibly scaled

    tab2: a data frame with the array 2, possibly scaled

    rot1: a data frame with the result of the rotation from array 1 to
          array 2

    rot2: a data frame with the result of the rotation from array 2 to
          array 1

   load1: a data frame with the loadings of array 1

   load2: a data frame with the loadings of array 2

   scor1: a data frame with the scores of array 1

   scor2: a data frame with the scores of array 2

    call: a call order of the analysis

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

     Digby, P. G. N. and Kempton, R. A. (1987) Multivariate Analysis of
     Ecological Communities. _Population and Community Biology Series_,
     Chapman and Hall, London.

      Gower, J.C. (1971) Statistical methods of comparing different
     multivariate analyses of the same data. In _Mathematics in the
     archaeological and historical sciences_, Hodson, F.R, Kendall,
     D.G. & Tautu, P. (Eds.) University Press, Edinburgh,  138-149.

      Schnemann, P.H. (1968) On two-sided Procustes problems.
     _Psychometrika_, *33*, 19-34.

      Torre, F. and Chessel, D. (1994) Co-structure de deux tableaux
     totalement apparis. _Revue de Statistique Applique_, *43*,
     109-121.

      Dray, S., Chessel, D. and Thioulouse, J.  (2003) Procustean
     co-inertia analysis for the linking of multivariate datasets.
     _Ecoscience_, *10*, 1, 110-119.

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

     data(macaca)
     par(mfrow = c(2,2))
     pro1 <- procuste(macaca$xy1, macaca$xy2, scal = FALSE)
     s.match(pro1$tab1, pro1$rot2, clab = 0.7)
     s.match(pro1$tab2, pro1$rot1, clab = 0.7)
     pro2 <- procuste(macaca$xy1, macaca$xy2)
     s.match(pro2$tab1, pro2$rot2, clab = 0.7)
     s.match(pro2$tab2, pro2$rot1, clab = 0.7)
     par(mfrow = c(1,1))

     data(doubs)
     pca1 <- dudi.pca(doubs$mil, scal = TRUE, scann = FALSE)
     pca2 <- dudi.pca(doubs$poi, scal = FALSE, scann = FALSE)
     pro3 <- procuste(pca1$tab, pca2$tab, nf = 2)
     par(mfrow = c(2,2))
     s.traject(pro3$scor1, clab = 0)
     s.label(pro3$scor1, clab = 0.8, add.p = TRUE)
     s.traject(pro3$scor2, clab = 0)
     s.label(pro3$scor2, clab = 0.8, add.p = TRUE)
     s.arrow(pro3$load1, clab = 0.75)
     s.arrow(pro3$load2, clab = 0.75)
     plot(pro3)
     par(mfrow = c(1,1))

     data(fruits)
     plot(procuste(scalewt(fruits$jug), scalewt(fruits$var)))

