R: Circular or angular regression

Circular or angular regression {Rfast} | R Documentation

## Circular or angular regression

### Description

Regression with circular dependent variable and Euclidean or categorical independent variables.

### Usage

    spml.reg(y, x, tol = 1e-07, seb = FALSE, maxiters = 100)

### Arguments

`y` | The dependent variable, it can be a numerical vector with data expressed in radians or it can be a matrix with two columns, the cosinus and the sinus of the circular data. The benefit of the matrix is that if the function is to be called multiple times with the same response, there is no need to transform the vector every time into a matrix.
`x` | The independent variable(s). Can be Euclidean or categorical (factor variables).
`tol` | The tolerance value to terminatate the Newton-Raphson algorithm.
`seb` | Do you want the standard error of the estimates to be returned? TRUE or FALSE.
`maxiters` | The maximum number of iterations to implement.

### Details

The Newton-Raphson algorithm is fitted in this regression as described in Presnell et al. (1998).

### Value

A list including:

`iters` | The number of iterations required until convergence of the EM algorithm.
`be` | The regression coefficients.
`seb` | The standard errors of the coefficients.
`loglik` | The value of the maximised log-likelihood.
`seb` | The covariance matrix of the beta values.

### Author(s)

Michail Tsagris and Manos Papadakis

R implementation and documentation: Michail Tsagris <mtsagris@yahoo.gr> and Manos Papadakis <papadakm95@gmail.com>

### References

Presnell Brett, Morrison Scott P. and Littell Ramon C. (1998). Projected multivariate linear models for directional data. Journal of the American Statistical Association, 93(443): 1068-1077.

### See Also

`spml.mle, iag.mle, acg.mle`

### Examples

    ## Not run:
    x <- rnorm(100)
    z <- cbind(3 + 2 * x, 1 -3 * x)
    y <- cbind( rnorm(100,z[ ,1], 1), rnorm(100, z[ ,2], 1) )
    y <- y / sqrt( rowsums(y^2) )
    a1 <- spml.reg(y, x)
    y <- atan( y[, 2] / y[, 1] ) + pi * I(y[, 1] < 0)
    a2 <- spml.reg(y, x)

    ## End(Not run)

[Package Rfast version 2.0.0 Index]