### Lecture 23

```Directional Statistics
Data in degrees or coordinates
Directional Statistics
• North, Northeast, 30°, 215°, etc
• Standard descriptive statistics are
• Anything measured in degrees
• Any cyclic data: daily, weekly,
monthly, or yearly
• Mathematical vs Geographic
standards
Orientation
• North/South, East/West
• Orientation ignores directionality
(e.g. “Texas Avenue runs both
ways.”)
• Mostly roads, paths, and other
Testing for Direction
• Rayleigh’s Test for directionality
• Chi-Square Test for even
distribution
• For orientation data, we double the
value and use the directionality tests
Mean Direction
• Convert to rectangular form:
– x = cos , y = sin  [may need to convert
• Sum coordinates:
– C = (cos i), S = (sin i)
• Mean depends on sign of C, S
Mean Direction (degrees)
C=0, S>0
90°
C=0, S<0
270°
C>0, S≥0
arctan(S/C)
C<0
arctan(S/C) + 180
C>0, S<0
arctan(S/C) + 360
Allen’s Creek Cemetery
Circular Mean = 43.6°
34
35
10
13
4
2
2
16
6
17
Mean = 126.1°
Rayleigh’s Test
• Null hypothesis of uniformity (or
bimodal opposing directions)
• Based on mean angle and Rayleigh’s
R
1
n
( cos  i )  ( sin  i )
2
2
Chi Square
• Divide data into groups: 4, 8, etc
• Calculate simple Chi Square test
• This ignores circular nature of the
data, but provides a rough guide to
finding differences
Package circular 1
• Circular object class holds information
about the kind of circular data being
used:
– units – radians, degrees, or hours
– zero – location of zero point
– rotation – clockwise or counterclockwise
• templates set both zero and rotation
Package circular 2
circular data
• Plotting circular plots, density plots,
rose, and windrose plots
• Statistical tests for directionality,
regression, and comparing samples
Example
• Ernest Witte has two directional
variables:
– Direction (direction the spinal column
– Looking (direction eyes are looking
toward)
• They are stored as geographic data
(degrees clockwise from north)
> library(circular)
> dir <- circular(ErnestWitte\$Direction, units="degrees",
template="geographics")
> look <- circular(ErnestWitte\$Looking, units="degrees",
template="geographics")
> mean(dir, na.rm=TRUE)
Circular Data:
Type = angles
Units = degrees
Template = geographics
Modulo = asis
Zero = 1.570796
Rotation = clock
[1] 43.62221
> mean(ErnestWitte\$Direction, na.rm=TRUE)
[1] 126.0643
> mean(look, na.rm=TRUE)
Circular Data:
Type = angles
Units = degrees
Template = geographics
Modulo = asis
Zero = 1.570796
Rotation = clock
[1] 184.7019
> mean(ErnestWitte\$Look, na.rm=TRUE)
[1] 173.9577
> plot(dir)
> plot(look)
> plot(look, main="Direction Looking“)
> rose.diag(dir, bins=6, prop=1.1, col="gray")
> rose.diag(look, bins=6, prop=1.2, col="gray")
Rose Plot with
Circular Plot
and Kernel
Density Plot
> rayleigh.test(dir)
Rayleigh Test of Uniformity
General Unimodal Alternative
Test Statistic:
P-value: 0
0.4806
> rayleigh.test(look)
Rayleigh Test of Uniformity
General Unimodal Alternative
Test Statistic: 0.07
P-value: 0.7062
```