Help Calculating Circular Standard Deviations

Hi all,

I have a circular data set, in degrees, with a known standard deviation (SD) of between 60-80°— the range in SD is because there are different formulas.

Anyways, when I use the sd.circular() function, the answer is clearly wrong. Doesn't even pass the eye test.

What am I doing wrong here?

library(tidyverse)
library(circular)
#> 
#> Attaching package: 'circular'
#> The following objects are masked from 'package:stats':
#> 
#>     sd, var
SD_CircTest <- tibble(c(228,64,259,124,150,152,309,335,256,242,233,334,34,
                        198,229,225,105,203,260,134,231,143,165,166,156,227,
                        317,154,102,208,191,15,144,329,184,321,230,276,155,
                        73,289,204,201,5,246,179,301,208,202,55,223,159,112,
                        276,85,137,226,174,158,155))
SD__CircTest <- circular(SD_CircTest, units = "degrees", template = "geographics")
sd.circular(SD__CircTest)
#>   c(...) 
#> 2.257284

Try feeding it a vector, rather than a tibble

suppressPackageStartupMessages({
  library(tidyverse)
  library(circular)}
  )
SD_CircTest <- c(228,64,259,124,150,152,309,335,256,242,233,334,34,
  198,229,225,105,203,260,134,231,143,165,166,156,227,
  317,154,102,208,191,15,144,329,184,321,230,276,155,
  73,289,204,201,5,246,179,301,208,202,55,223,159,112,
  276,85,137,226,174,158,155)
SD__CircTest <- circular(SD_CircTest, units = "degrees", template = "geographics")
sd.circular(SD__CircTest)
#> [1] 1.400135

Created on 2020-08-12 by the reprex package (v0.3.0)

Yep, that works, thanks.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.