rand.kselect
tests whether the marginality vector of animals
is significantly larger than what is expected under the hypothesis of
random habitat use (thirdorder habitat selection:
selection by the animals of the relocations within their home range;
the habitat availability is measured for each animal). The effect of
each variable on individual marginality is also tested.
Finally, the pertinence of a Kselect analysis is also tested. This is
a randomisation test. The alphalevel of the tests is
ajusted using the Bonferroni inequality.
1 2 3  rand.kselect(dudi, factor, weight, nrep = 200, alpha = 0.05, ewa = FALSE)
## S3 method for class 'rand.kselect'
print(x, ...)

dudi 
an object of class 
factor 
a factor defining the animals identity 
weight 
a weight vector of integer values (number of relocations counted in each resource unit in row of the object dudi) 
nrep 
the number of repetitions of the test 
alpha 
the alpha level for the tests. 
ewa 
logical. If 
x 
an object of the class 
... 
further arguments to be passed to the generic function

This test is carried out by simulating a random use of space by
animals. rand.kselect
is closely related to the function
kselect
(same arguments).
At each step of the randomisation procedure, and for each animal, the test randomly allocates the nk relocations (where nk is the sum of the weight vector for the animal k) in the Ik pixels available to this animal (where Ik is the length of the weight vector for animal k).
The length of the marginality vector is recomputed at each step of the randomisation procedure and for each animal. The effect of each variable on the use of pixels by each animal is measured by the criterion "(average habitat variable j used by animal i) minus (average habitat variable j available to animal i)". Finally the value of the first eigenvalue of the Kselect analysis provides a criterion to test the pertinence of the Kselect analysis.
All these values are then compared to the observed values to assess the significance of theses effects.
Returns an object of class rand.kselect
. This list has three
components:
global 
a vector of length 2 giving the results of the randomisation procedure for the first eigenvalue of the Kselect analysis. 
marg 
a matrix giving the significance of the marginality of each animal. 
per.ind 
a list giving the results of the randomisation test for the coordinates of the marginality vector for each animal on each habitat variable. 
alpha 
the alpha level of the tests. 
Clement Calenge clement.calenge@oncfs.gouv.fr
Calenge, C., Dufour, A.B. and Maillard, D. (2005) Kselect analysis: a new method to analyse habitat selection in radiotracking studies. Ecological modelling, 186, 143–153.
kselect
to perform a Kselect analysis.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35  ## Not run:
## Loads the data
data(puechabonsp)
locs < puechabonsp$relocs
map < puechabonsp$map
## compute the home range of animals (e.g. using the minimum convex
## polygon)
pc < mcp(locs[,"Name"])
## rasterize it
hr < do.call("data.frame", lapply(1:nrow(pc), function(i) {
overlay(map, geometry(pc[i,]))
}))
names(hr) < slot(pc, "data")$id
coordinates(hr) < coordinates(map)
gridded(hr) < TRUE
## Compute the number of relocation in each pixel of the map
cp < count.points(locs[,"Name"], map)
## prepares the data for the kselect analysis
x < prepksel(map, hr, cp)
tab < x$tab
dud < dudi.mix(tab, scannf = FALSE, nf = 2)
## the randomisation tests
## be patient, this can be very long on some machines
(te < rand.kselect(dud, x$factor, x$weight, nrep = 500))
## End(Not run)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.