data(harborSeal)
head(harborSeal)
## Calculate Log multipliers for Argos error
argosClasses <- c("3", "2", "1", "0", "A", "B")
ArgosMultFactors <- data.frame(Argos_loc_class=argosClasses,
errX=log(c(1, 1.5, 4, 14, 5.21, 20.78)),
errY=log(c(1, 1.5, 4, 14, 11.08, 31.03)))
hsNew <- merge(harborSeal, ArgosMultFactors, by=c("Argos_loc_class"), all=TRUE)
hsNew <- hsNew[order(hsNew$Time), ]
head(hsNew)
## Initial state values
initial.dry <- list(
a1.x=c(harborSeal$longitude[1],0),
a1.y=c(harborSeal$latitude[1],0),
P1.x=diag(c(1,1)),
P1.y=diag(c(1,1))
)
##Fit model as given in Johnson et al. (2008) Ecology 89:1208-1215
fit1 <- crwMLE(
mov.model=~1, err.model=list(x=~errX, y=~errY), stop.model=~DryTime,
data=hsNew, coord=c("longitude","latitude"), Time.name="Time",
initial.state=initial.dry, fixPar=c(NA, 1, NA, 1, NA, NA, NA),
control=list(maxit=2000, trace=1, REPORT=1)
)
fit1
str(fit1)
##Use simulated annealing to obtain start value
fit2 <- crwMLE(
mov.model=~1, err.model=list(x=~errX, y=~errY), stop.model=~DryTime,
data=hsNew, coord=c("longitude","latitude"), Time.name="Time",
initial.state=initial.dry, fixPar=c(NA, 1, NA, 1, NA, NA, NA),
control=list(maxit=2000, trace=1, REPORT=1),
initialSANN=list(maxit=100, temp=5, tmax=5, trace=1, REPORT=2)
)
##See simulated annealing start values
fit2$init
Run the code above in your browser using DataLab