mahasuhab             package:adehabitat             R Documentation

_H_a_b_i_t_a_t _S_u_i_t_a_b_i_l_i_t_y _M_a_p_p_i_n_g _w_i_t_h _M_a_h_a_l_a_n_o_b_i_s _D_i_s_t_a_n_c_e_s.

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

     This function computes the habitat suitability map of an area for
     a species, given a set of locations of the species occurences
     (Clark et al. 1993).  This function is to be used in habitat
     selection studies, when animals are not identified.

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

     mahasuhab(kasc, pts, type = c("distance", "probability"))

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

    kasc: a raster map of class 'kasc'

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

    type: a character string. Whether the raw '"distance"' should be
          returned, or rather the '"probability"' (see details). 

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

     Let assume that a set of locations of the species on an area is
     available (gathered on transects, or during the monitoring of the
     population, etc.).  If we assume that the probability of detecting
     an individual is independent from the habitat variables, then we
     can consider that the habitat found at these sites reflects the
     habitat use by the animals.

     The Mahalanobis distance method has become more and more popular
     during the past few years to derive habitat suitability maps.  The
     niche of a species is defined as the probability density function
     of presence of a species in the multidimensionnal space defined by
     the habitat variables.  If this function can be assumed to be
     multivariate normal, then the mean vector of this distribution
     corresponds to the optimum for the species.

     The function 'mahasuhab' first computes this mean vector as well
     as the variance-covariance matrix of the niche density function,
     based on the value of habitat variables in the sample of
     locations. Then, the Mahalanobis distance from this optimum is
     computed for each pixel of the map.  Thus, the smaller this
     distance is for a given pixel, and the better is the habitat in
     this pixel.

     Assuming multivariate normality, Mahalanobis distances are
     approximately distributed as Chi-square with n-1 degrees of
     freedom, where n equals the number of habitat characteristics.  If
     the argument 'type = "probability"', maps of these p-values are
     returned by the function. As such these are the probabilities of a
     larger Mahalanobis distance than that observed when x is sampled
     from a population whose mean is ideal.

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

     Returns a raster map of class 'asc'.

_N_o_t_e:

     The computation of the Mahalanobis distances inverts the
     variance-covariance matrix of the niche density function (see
     '?mahalanobis'). It is therefore important that the habitat
     variables considered are not too correlated among each other. 
     When the habitat variables are too correlated, the
     variance-covariance matrix is singular and cannot be inverted. 

     Note also that it is recommended to scale the variables before the
     computation, so that they all have the same variance, and
     therefore the same weight in the analysis (see examples below).

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

     Clment Calenge calenge@biomserv.univ-lyon1.fr

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

     Clark, J.D., Dunn, J.E. and Smith, K.G. (1993) A multivariate
     model of female black bear habitat use for a geographic
     information system. _Journal of Wildlife Management_, *57*,
     519-526.

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

     'as.asc' for further information on objects of class 'asc',
     'as.kasc' for additional information on objects of class 'kasc',
     'domain' for another method of habitat suitability mapping, and
     'mahalanobis' for information on the computation of mahalanobis
     distances.

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

     ## loads the data
     data(lynxjura)
     ka <- lynxjura$map
     lo <- lynxjura$locs[,1:2]

     ## We first scale the maps
     df <- kasc2df(ka)
     pc <- dudi.pca(df$tab, scannf=FALSE)
     tab <- pc$tab
     ka <- df2kasc(tab, df$index, ka)

     ## habitat suitability mapping
     hsm <- mahasuhab(ka, lo, type = "probability")
     plot(hsm, main = "Habitat suitability map for the Lynx",
          plot.axes = { points(lo, pch = 16, cex=0.5)})

