Implements regression models for circular response data, including
homogeneous angular regression, consensus angular regression, a two-step
workflow, selected special-case model wrappers, and a random-intercept
extension for clustered circular outcomes. The main methodology follows
Rivest et al. (2016) "A General Angular Regression Model for the Analysis
of Data on Animal Movement in Ecology"
CircularRegression fits regression models for circular response data, such as movement directions or angles measured in radians. The package implements the general angular regression framework of Rivest, Duchesne, Nicosia and Fortin (2016), including homogeneous angular regression, consensus regression, a two-step workflow, and selected special-case wrappers.
install.packages("remotes")
remotes::install_github("AurelienNicosiaULaval/CircularRegression")
library(CircularRegression)
data(bison)
d <- bison[seq_len(100), ]
fit <- circular_regression(
y.dir ~ y.prec + x.meadow:z.meadow,
data = d
)
summary(fit)
coef(fit)
head(predict(fit))
The formula syntax uses angular variables as terms. A term of the form x
adds a direction directly. A term of the form x:z adds a direction x
weighted by a finite non-negative modifier z.
The original interfaces remain available:
angular() fits the homogeneous angular regression model.consensus() fits the consensus angular regression model.angular_two_step() fits the consensus model, selects a reference direction,
and then fits the homogeneous model.angular_re() fits the random-intercept extension for clustered circular
outcomes.The package provides S3 methods for printing, summarising, coefficients, fitted values, residuals, predictions, plots, information criteria, and log-likelihoods where appropriate.
Rivest, L.-P., Duchesne, T., Nicosia, A. and Fortin, D. (2016). A general angular regression model for the analysis of data on animal movement in ecology. Journal of the Royal Statistical Society: Series C (Applied Statistics), 65(3), 445-463.
Rivest, L.-P. and Kato, S. (2019). A random-effects model for clustered circular data. Canadian Journal of Statistics, 47(4), 712-728.