enfa               package:adehabitat               R Documentation

_E_c_o_l_o_g_i_c_a_l-_N_i_c_h_e _F_a_c_t_o_r _A_n_a_l_y_s_i_s

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

     'enfa' performs an Ecological-Niche Factor Analysis. 'hist.enfa'
     draws histograms of the row scores or of the initial variables of
     the ENFA. 'data2enfa' prepares data (kasc and localizations) to be
     analyzed by the ENFA.

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

     enfa(tab, pr, scannf = TRUE, nf = 1)
     hist.enfa(x, scores = TRUE, type = c("h", "l"), adjust = 1, Acol, Ucol, 
               Aborder, Uborder, Alwd = 1, Ulwd = 1, ...)
     data2enfa(kasc, pts)

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

     tab: a data frame describing the available units

      pr: a vector giving the utilization weights associated to each
          unit

  scannf: logical.  Whether the eigenvalues barplot should be displayed

      nf: an integer indicating the number of kept specialization axes 

       x: an object of class 'enfa'

  scores: logical.  If 'TRUE', the histograms display the row scores of
          the ENFA.  If 'FALSE', they display the niche on the
          environmental variables (in this case, this is equivalent to
          'histniche')

    type: what type of plot should be drawn.  Possible types are:
           * '"h"' for histograms,
           * '"l"' for kernel density estimates (see '?density').
           By default, 'type = "h"' is used.  If 'type = "l"' is used,
          the position of the mean of each distribution is indicated by
          dotted lines

  adjust: if 'type = "l"', a parameter used to control the bandwidth of
          the density estimates (see '?density')

    Acol: if 'type = "h"', a color to be used to fill the histogram of
          the available pixels. if 'type = "l"', a color to be used for
          the kernel density estimates of the available pixels

    Ucol: if 'type = "h"', a color to be used to fill the histogram of
          the used pixels. if 'type = "l"', a color to be used for the
          kernel density estimates of the used pixels

 Aborder: color for the border of the histograms of the available
          pixels

 Uborder: color for the border of the histograms of the used pixels

    Alwd: if 'type = "l"', the line width of the kernel density 
          estimates of the available pixels

    Ulwd: if 'type = "l"', the line width of the kernel density 
          estimates of the used pixels

    kasc: a raster map of class 'kasc'

     pts: a data frame with two columns, giving the coordinates of the
          species locations

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

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

     The niche concept, as defined by Hutchinson (1957), considers the
     ecological niche of a species as an hypervolume in the
     multidimensional space defined by environmental variables, within
     which the populations of a species can persist.  The
     Ecological-Niche Factor Analysis (ENFA) has been developped by
     Hirzel et al. (2002) to analyse the position of the niche in the
     ecological space.  Nicolas Perrin (1984) described the position of
     the niche in the n-dimensional space using two measures: the
     M-specialization (hereafter termed marginality) and the
     S-specialization (hereafter termed specialization).  The
     marginality represents the squared distance of the niche
     barycentre from the mean available habitat.  A large
     specialization corresponds to a narrow niche relative to the
     habitat conditions available to the species.

     The ENFA first extracts an axis of marginality (vector from the
     average of available habitat conditions to the average used
     habitat conditions). Then the analysis extracts successives
     orthogonal axes (i.e. uncorrelated), which maximises the
     specialization of the species.  The calculations used in the
     function are described in Hirzel et al. (2002).

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

     'enfa' returns a list of class 'enfa' containing the following
     components:  

    call: original call.

     tab: a data frame with n rows and p columns.

      pr: a vector of length n containing the number of points in each
          pixel of the map.

      nf: the number of kept specialization axes.

       m: the marginality (squared length of the marginality vector).

       s: a vector with all the eigenvalues of the analysis.

      lw: row weights, a vector with n components.

      li: row coordinates, data frame with n rows and nf columns.

      l1: row normed scores, data frame with n rows and nf columns.

      co: column coordinates, data frame with p rows and nf columns.

      c1: column normed scores, data frame with p rows and nf columns.

     mar: coordinates of the marginality vector.

     tab: a data frame with n rows and p columns.

      pr: a vector of length n containing the number of points in each
          pixel of the map.

   index: an integer vector giving the position of the rows of 'tab' in
          the  initial object of class 'kasc'.

    attr: an object of class 'mapattr' with the attributes of the
          initial 'kasc'.

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

     Mathieu Basille basille@biomserv.univ-lyon1.fr

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

     Hutchinson, G.E. (1957) Concluding Remarks. _Cold Spring Harbor
     Symposium on Quantitative Biology_, *22*: 415-427. 

     Perrin, N. (1984) Contribution  l'cologie du genre Cepaea
     (Gastropoda) : Approche descriptive et exprimentale de l'habitat
     et de la niche cologique. Thse de Doctorat. Universit de
     Lausanne, Lausanne. 

     Hirzel, A.H., Hausser, J., Chessel, D. & Perrin, N. (2002)
     Ecological-niche factor analysis: How to compute
     habitat-suitability maps without absence data? _Ecology_, *83*,
     2027-2036.

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

     'niche', 'kselect' for other types of analysis of the niche, when
     several species are under studies, 'niche.test' to perform a test
     of the marginality and the tolerance of the niche, and
     'scatter.enfa' to have a graphical display of objects of class
     'enfa'.

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

     ## Not run: 
     data(lynxjura)

     map <- lynxjura$map

     ## We keep only "wild" indices.
     tmp <- lynxjura$locs[,4]!="D"
     locs <- lynxjura$locs[tmp, c("X","Y")]
     hist(map, type = "l")
     ## The variable artif is far from symetric

     ## We perform a square root transformation
     ## of this variable
     ## We therefore normalize the variable 'artif'
     map[,4] <- sqrt(map[,4])
     hist(map, type = "l")

     ## We prepare the data for the ENFA
     (dataenfa1 <- data2enfa(map, locs[tmp, c("X","Y")]))

     ## We then perform the ENFA
     (enfa1 <- enfa(dataenfa1$tab, dataenfa1$pr,
                    scannf = FALSE))
     hist(enfa1)
     hist(enfa1, scores = FALSE, type = "l")

     ## randomization test and scatterplot
     (renfa <- randtest(enfa1))
     plot(renfa)
     scatter(enfa1)
     ## End(Not run)

