Speed function - time scale

14 views
Skip to first unread message

Alex Brunswick

unread,
Apr 27, 2026, 5:17:29 AMApr 27
to ctmm R user group
Hi ctmm community, likely a quick question here. I am hoping to calculate the average daily speed for some birds I have been tracking. 

I have run the speed function on GPS relocations for 5 birds, using their respective ctmm models and telemetry data. Code below.

The birds had relocation data for variable lengths of time (~1-3 months). 

However, the CI outputs were quite high for daily speed, so I am wondering what the timescale of the 'average' speed (CI) is (or can I manually set it?).

Is the CI output the average daily speed? Or is it the average speed over the whole time of sampling?

> speed <- Map(ctmm::speed,
             gttnov24_telemetry_cov_001,
             GTTnov24_ctmm_best_nocyc_002)

After reading the function's documentation I am just a bit confused, so I would greatly appreciate any guidance!

Alex Brunswick

unread,
Apr 27, 2026, 5:21:21 AMApr 27
to ctmm R user group
Also. The trackers were continuously recording on a 6-hourly duty cycle, but BOOST mode is also activated. Thus there are relocations every few minutes, with a general gap between 0444-0530 when the solar batteries ran out. 

The attached figure shows the sampling frequency and time scale of data for each bird.

GTT_data availability_001.png

Ismael V. Brack

unread,
Apr 27, 2026, 8:23:12 PMApr 27
to ctmm R user group
You can set:
myspeed <- speed(..., units=F)
It will return in meters per second. Then you can transform for whatever you want, for example:
"kilometers / day" %#% myspeed

Alex Brunswick

unread,
Apr 28, 2026, 12:13:07 AMApr 28
to Ismael V. Brack, ctmm R user group
Hi Ismael

Thank you very much for your help. 

However, I tried the ctmm unit conversion as you mentioned, and it provided an impossible answer. I'll provide more code below. 

Option 1: I don't set units

When I don't set any units, the results explicate that they are in km/day, although the values are higher than expected they are possible. I am surprised that the object says it is in km/day, because reading has suggested that the generic speed function will provide average speed over the whole sample period.
 
speed <- Map(ctmm::speed,
             gttnov24_telemetry_cov_001,
             GTTnov24_ctmm_best_nocyc_002, units = TRUE)

> print(speed$PNL$CI)

                                      Low              est                 high

speed (kilometers/day)     80.6263     81.16967     81.71393

Option 2: I set units

Setting units seems to provide impossible values (the birds have home range sizes of ~- but perhaps I did it wrong?

> pna.km.day <- "km / day" %#% speed$PNA$CI
> print(pna.km.day)                          

                         Low                 est                    high 

speed (kilometers/day)    5902.356         5946.69             5991.106         
[all impossible]

Perhaps did the units=TRUE turn the calculation into km/day?

Any help would be amazing!

Cheers

From: ctmm...@googlegroups.com <ctmm...@googlegroups.com> on behalf of Ismael V. Brack <ismae...@gmail.com>
Sent: Tuesday, April 28, 2026 8:23 AM
To: ctmm R user group <ctmm...@googlegroups.com>
Subject: [ctmm-user] Re: Speed function - time scale
 
--
You received this message because you are subscribed to the Google Groups "ctmm R user group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ctmm-user+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ctmm-user/7edf760e-12bb-4f92-bf3e-c03528d635fan%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages