Dear Christen,
thanks for providing with the CTMM package such a user-friendly tool to perform advanced movement analysis. The vignettes do a great job of explaining the basics and advanced applications, however, I still have some questions that I was unfortunately not able to solve myself.
1) I do not have GPS trajectories, therefore the telemetry object has to be tweaked. I take videos of microorganisms, track them and hence have a coordinate system in micrometers which I get from my tracking software. I was able to turn that into a telemetry object however, the scales are obviously wrong and this may be suboptimal for reporting the parameter estimates. Do you have a preferred way of dealing with such non-georeferenced data sources? Find the code I use to get the data at least processed by CTMM below:
ind$timestamp <- as.POSIXct(ind$timestamp, origin = "1900-01-01", format = "%OS")
ind$lat <- ind$x/100000
ind$long <- ind$y/100000
ind$individual.local.identifier <- ind$uniquetrajectID
datum <- "WGS84"
lon_0 <- stats::median(ind$lat)
lat_0 <- stats::median(ind$lat)
proj <- paste0("+proj=aeqd +lon_0=",lon_0," +lat_0=",lat_0," +datum=",datum)
ind_tele <- as.telemetry(ind[, -c(13,14)], projection = proj)
2) I have a large number of trajectories (literally tens of thousands) which are however often short. Computationally it may be more convenient to summarize them at the population level first. But how can I perform the model selection on the pooled semi-variogram? The ctmm.select function requires the data time series as input for individuals and all my attempts to perform the fitting of ctmm models to the pooled variograms have failed. I have pasted the code I used below, all visualization work fine (including guessing initial parameter estimates, but I am stuck with fitting the selection of CTMM models to the data.
SVFs <- lapply(ind_tele, variogram)
mean_SVF <- mean(SVFs)
plot(mean_SVF,fraction=1,level=level)
title("Population variogram")
variogram.fit(mean_SVF, interactive=T)
m.iid <- ctmm(sigma=4 %#% "hectares", error=T)
fit.iid <- ctmm.fit(mean_SVF, CTMM=m.iid)
fitted.mods <- ctmm.select(data=ind_tele, CTMM=m.iid, verbose=T)
3) I have noticed that fitting the movement models with error=T generally much improves the estimated and fitted ctmm model to the data. I do not have any error estimate, but guess my data comes with some error due to the tracking. What would you advise in terms of accounting for error?
Many thanks for your help and kind regards,
Frank