[AniMov] First passage time analysis - trouble finding the "optimal" radii

Clément Calenge clement.calenge at oncfs.gouv.fr
Thu Aug 19 15:08:12 CEST 2010

Dear Julia,

> It seems that the most important step of this analysis is to define 
> the scale "r". But, how do I choose the "optimal" radii?

The identification of the radius is not a step, but the main aim of FPT. 
This is implemented in the function varlogfpt. Once the optimal scale 
has been found, the function plot can be used to show the changes in FPT 
with time. You should read:

Fauchald, P. and Tveraa, T. 2003. Using first-passage time in the 
analysis of area-restricted search and habitat selection. Ecology, 84, 

For a complete description of this approach.

> The example given by R Help (adehabitat manual) is the following:
> data(puechcirc)
> i<- fpt(puechcirc, seq(300,1000, length=30))
> plot(i, scale = 500, warn = FALSE)
> Could someone explain to me the above mentioned steps?
> "puechirc" is an object of class "ltraj", but what does " 
> seq(300,1000, length=30))" stands for?


 > seq(300,1000, length=30)
  [1]  300.0000  324.1379  348.2759  372.4138  396.5517  420.6897  444.8276
  [8]  468.9655  493.1034  517.2414  541.3793  565.5172  589.6552  613.7931
[15]  637.9310  662.0690  686.2069  710.3448  734.4828  758.6207  782.7586
[22]  806.8966  831.0345  855.1724  879.3103  903.4483  927.5862  951.7241
[29]  975.8621 1000.0000

The help page can be read with:

 > ?seq

Which indicates: "Generate regular sequences (...) length.out: desired 
length of the sequence."
This command generates a sequence of radii comprised between 300 and 
1000 metres.

> and "scale = 500" is the radius?

If you type:

 > i
[1] "fipati"

You can see that the object i is of the class "fipati". Therefore, 
"plot(i, scale=500)" calls the function plot.fipati.
The help page

 > ?plot.fipati

indicates that scale is indeed the value of the radius to be plotted.

> Another example which I don't understand entirely:
> scales<-c(2, seq(5, 45, 5), seq(50, 500, 25)) #what does it mean?

Again, have a look at the help page of seq. The vector "scales" contains 
2, 5, 10, 15, 20, ..., 45, 50, 75, 100, 125, 150, ..., 500.

> a.cut <- FPT.cut(file=loc1, Long=loc1$Long, Lat=loc1$Lat, 
> Date=loc1$DateD, d=2) #cut the trip into intermediate locations of 
> 2km, but R doesn't recognise "FPT.cut"
> a.fpt <- FPT.calc(a.cut, r=scales) # FPT for the specified scales  (it 
> can be quite long!)

Where did you find these two examples? I do not know anything about the 
functions FPT.cut, or FPT.calc

> I have an object of class "ltraj" (tr <- as.ltraj(TB2[, 
> c("LON","LAT")], TB2$Date, TB2$Bird) containing the relocations of 
> Birds. Further, the maximum foraging trip duration is 35h, total 
> distance travelled: 426km, max. distance from the nest: 162km. GPS 
> recorded a fix every 5 min (some GPS every 2min and every 4 min 
> depending on the tag used). With the fpt I would like to determine the 
> ARS of each individual. From my data set, it seems that the birds 
> mainly forage at the farthest point of the track and sometimes on the 
> way back to the colony.
> Now, how do I define the scales where fpt will be calculated? And how 
> do I calculate my fpt? Would it be helpful cutting the tracks into 
> intermediate locations of 2km for example and then to calculate the 
> fpt for a defined scale?
> I'm still a R beginner, thus apologies in advance in case I ask some 
> "obvious" stuff.

Reading the above cited paper should help you on these aspects.

Clément Calenge.

Cellule d'appui à l'analyse de données
Office national de la chasse et de la faune sauvage
Saint Benoist - 78610 Auffargis
tel. (33)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.faunalia.it/pipermail/animov/attachments/20100819/ea711ae5/attachment.htm>

More information about the AniMov mailing list