princomp.rcomp         package:compositions         R Documentation

_P_r_i_n_c_i_p_a_l _c_o_m_p_o_n_e_n_t _a_n_a_l_y_s_i_s _f_o_r _r_e_a_l _c_o_m_p_o_s_i_t_i_o_n_s

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

     A principal component analysis is done in real geometry (i.e.
     cpt-transform) of the simplex. Some gimics simplify the
     interpretation of the obtained components.

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

     ## S3 method for class 'rcomp':
     princomp(x,...,scores=TRUE)
     ## S3 method for class 'princomp.rcomp':
     print(x,...)
     ## S3 method for class 'princomp.rcomp':
     plot(x,y=NULL,...,
     npcs=min(10,length(x$sdev)-1),
     type=c("screeplot","variance","biplot","loadings","relative"),
     main=NULL,
     scale.sdev=1)
     ## S3 method for class 'princomp.rcomp':
     predict(object,newdata,...)

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

       x: an rcomp dataset (for princomp) or a result from
          princomp.rcomp

       y: not used

  scores: a logical indicating whether scores should be computed or not

    npcs: the number of components to be drawn in the scree plot

    type: type of the plot: '"screeplot"' is a lined screeplot,
          '"variance"' is a boxplot like screeplot, '"biplot"' is a
          biplot, '"loadings"' displays the loadings as a  'barplot'

scale.sdev: The multiple of sigma to use plotting the loadings

    main: headline of the plot

  object: a fitted princomp.rcomp object

 newdata: another compositional dataset of class rcomp

     ...: further arguments to pass to internally-called functions

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

     Mainly a 'princomp(cpt(x))' is performed.  To avoid confusion the
     meaningless last principal component is removed. 
      The plot routine provides screeplots ('type = "s"','type= "v"'),
     biplots ('type = "b"'), plots of the effect of loadings ('type =
     "b"') in 'scale.sdev*sdev'-spread, and loadings of pairwise
     differences ('type = "r"'). 
      The interpretation of a screeplot does not differ from ordinary
     screeplots. It shows the eigenvalues of the covariance matrix,
     which represent the portions of variance explained by the
     principal components.  
      The interpretation of the the biplot differs from classical one.
     The relevant variables are not the drawn arrows of the components,
     but rather the differences between two arrowheads, which can be
     interpreted as transfer of mass from one  component to the other.  
      The compositional loading plot is more or less a standard one.
     The loadings are displayed by a barplot as positve and negative
     changes of amounts. 
      The loading plot can work in two different modes: If 'scale.sdev'
     is set to 'NA' it displays the composition being represented by
     the unit vector of loadings in cpt-transformed space. If
     'scale.sdev' is numeric we use this composition scaled by the
     standard deviation of the respective component.  
      The relative plot displays the 'relativeLoadings' as a barplot.
     The deviation from a unit bar shows the effect of each principal
     component on the respective differences.

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

     'princomp' gives an object of type
     'c("princomp.rcomp","princomp")' with the following content: 

    sdev: the standard deviation of the principal components.

loadings: the matrix of variable loadings (i.e., a matrix which columns
          contain the eigenvectors). This is of class '"loadings"'. The
          last eigenvalue is removed since it should contain the
          irrelevant scaling.

Loadings: The loadings as an rmult-object

  center: the cpt-transformed vector of means used to center the
          dataset

  Center: the 'rcomp' vector of means used to center the dataset

   scale: the scaling applied to each variable

   n.obs: number of observations

  scores: if 'scores = TRUE', the scores of the supplied data on the
          principal components and the information available. Scores
          are coordinates in a basis given by the principal components
          and thus not compositions

    call: the matched call

na.action: not clearly understood

     'predict' returns a matrix of scores of the observations in the
     'newdata' dataset 
     . The other routines are mainly called for their side effect of
     plotting or printing and return the object 'x'.

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

     'cpt','rcomp', 'relativeLoadings'  'princomp.acomp',
     'princomp.rplus',

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

     data(SimulatedAmounts)
     pc <- princomp(rcomp(sa.lognormals5))
     pc
     summary(pc)
     plot(pc)           #plot(pc,type="screeplot")
     plot(pc,type="v")
     plot(pc,type="biplot")
     plot(pc,choice=c(1,3),type="biplot")
     plot(pc,type="loadings")
     plot(pc,type="loadings",scale.sdev=-1) # Downward
     plot(pc,type="relative",scale.sdev=NA) # The directions
     plot(pc,type="relative",scale.sdev=1) # one sigma Upward 
     plot(pc,type="relative",scale.sdev=-1) # one sigma Downward
     biplot(pc)
     screeplot(pc)
     loadings(pc)
     relativeLoadings(pc,mult=FALSE)
     relativeLoadings(pc)
     relativeLoadings(pc,scale.sdev=1)
     relativeLoadings(pc,scale.sdev=2)

     pc$sdev^2
     cov(predict(pc,sa.lognormals5))

