# Generate a data set of dependent circular variables.
x <- circular(runif(50, 0, 2*pi))
y <- atan(0.15*cos(x) + 0.25*sin(x), 0.35*sin(x)) + rvonmises(n=50, mu=0, kappa=5)
# Fit a circular regression model.
circ.lm <- lm.circular(y, x, order=1)
# Obtain a crude plot a data and fitted regression line.
plot.default(x, y)
circ.lm$fitted[circ.lm$fitted>pi] <- circ.lm$fitted[circ.lm$fitted>pi] - 2*pi
points.default(x[order(x)], circ.lm$fitted[order(x)], type='l')
Run the code above in your browser using DataLab