Dear Andrea,

Thank you for your reply.  Your comments have been very helpful so far!  I
understand from your example that at a larger time lag, there is virtually
no 'bridge' created between the two points.  However, I do think that these
extra bridges will affect the overall results for my data set.  Looking at
the example data I posted earlier (attached again for convenience; fix rate
of 30 minutes, with "night" clusters separated by about 16 hours), using the
following script (simplified from my earlier post):

data<-read.csv("burst_test.csv")
attach(data)
xy<-cbind(x,y)
da<-as.POSIXct(strptime(as.character(data$datetime), tz="GMT", "%d/%m/%Y
%T"))
trj<-as.ltraj(xy,da,id,typeII=T,slsp="remove")
sig1<-1.0
sig2<-10
asc <- ascgen(xybox, cellsize=25) bb<-kernelbb(trj, sig1, sig2, byburst=T,grid=asc)
images<-image(bb[[1]]$UD)

the bridge between each cluster is still apparent, and I believe that this
could skew results, particularly when compounded over many days/nights.  I
think this is of most concern when looking at the outer contours of the UD
with low probabilities of use, where flattened individual bridges created
between points with lengthy time lags can cause increased spread and
misleadingly extend the outer contours.
What do you think?


If you really want to "remove" the movement of the animal between patches from the estimation of the UD, the only solution, to my knowledge, is to "do it yourself" (no function for that, sorry). From a technical point of view, using your sample dataset:

### Load the data
library(adehabitat)
data<-read.csv("sampledata.csv")
x<-data$x
y<-data$y
xy<-cbind(x,y)
datetime<-data$datetime
id<-data$id
brst<-data$burst
da<-as.POSIXct(strptime(as.character(data$datetime), tz="GMT", "%d/%m/%Y
%T"))

## the object "ltraj"
trj<-as.ltraj(xy,da,id,burst=brst,typeII=T,slsp="remove")

## kernelbb estimation with byburst=TRUE
sig2<-10
sig1 <- 1
bb<-kernelbb(trj, sig1, sig2, byburst=T,grid=asc)


## You will have to compute this for each animal (your sample dataset contains
## only one animal, so I do this only once):
## First, get the UD for each burst.

UDs <- lapply(1:length(bb), function(i) bb[[i]]$UD)


## Note that each UD integrates to 1 over the plane
## We will have to sum these UDs together. However, the sum of these UDs
## will no longer integrate to 1. We have to weight each UD_i estimated
## for animal i before summing, that is finding weights w_i such that:
## UD_tot = sum( w_i * UD_i)
## with sum(w_i) = 1
##
## Actually, we have to correct the UDs by the number of relocations
## used to estimate each UD:

## the number of relocations for each burst:
nlocs <- unlist(lapply(1:length(trj), function(i) nrow(trj[[i]])))

## The weight wi:
wi <- nlocs/sum(nlocs)

## And the UD is:
UDt <- UDs[[1]]
for (i in 2:length(UDs))
   UDt <- UDt+wi[i]*UDs[[i]]

image(UDt)

## Then, if you want to compute the volume:
UDv <- getvolumeUDs(UDt)


You will have to repeat the process for each animal. Is this what you want?
HTH,


Clément

--
Clément CALENGE
Office national de la chasse et de la faune sauvage
Saint Benoist - 78610 Auffargis
tel. (33) 01.30.46.54.14

_______________________________________________
AniMov mailing list
AniMov@faunalia.com
http://www.faunalia.com/cgi-bin/mailman/listinfo/animov

Reply via email to