View source: R/kern.reg.circ.lin.R
kern.reg.circ.lin | R Documentation |
Function kern.reg.circ.lin
implements the Nadaraya-Watson estimator and the Local-Linear estimator for circular-linear data (circular covariate and
linear response), as described in Di Marzio et al. (2009) and Oliveira et al. (2013), taking the von Mises distribution as kernel.
Function kern.reg.circ.circ
implements the Nadaraya-Watson estimator and the Local-Linear estimator for circular-circular data (circular covariate
and circular response), as described in Di Marzio et al. (2012), taking the von Mises distribution as kernel.
Function kern.reg.lin.circ
implements the Nadaraya-Watson estimator and the Local-Linear estimator for linear-circular data (linear covariate and
circular response), as described in Di Marzio et al. (2012), taking the Normal distribution as kernel.
kern.reg.circ.lin(x, y, t=NULL, bw, method="LL", from=circular(0), to=circular(2*pi), len=250, tol=300) kern.reg.circ.circ(x, y, t=NULL, bw, method="LL", from=circular(0), to=circular(2*pi), len=250) kern.reg.lin.circ(x, y, t=NULL, bw, method="LL", len=250) ## S3 method for class 'regression.circular' print(x, digits=NULL, ...)
x |
Vector of data for the independent variable. The object is coerced to class |
y |
Vector of data for the dependent variable. This must be same length as |
t |
Points where the regression function is estimated. If |
bw |
Smoothing parameter to be used. The value of the smoothing parameter can be chosen by using the function |
method |
Character string giving the estimator to be used. This must be one of |
from, to |
Left and right-most points of the grid at which the regression function is to be estimated. The objects are coerced to class |
len |
Number of equally spaced points at which the regression function is to be estimated. |
tol |
Tolerance parameter to avoid overflow when |
digits |
Integer indicating the precision to be used. |
... |
further arguments |
See Di Marzio et al. (2012). See Section 3 in Oliveira et al. (2013). See Di Marzio et al. (2009). The NAs will be automatically removed.
An object with class "regression.circular" whose underlying structure is a list containing the following components:
datax, datay |
Original dataset. |
x |
The n coordinates of the points where the regression is estimated. |
y |
The estimated values. |
bw |
The smoothing parameter used. |
N |
The sample size after elimination of missing values. |
call |
The call which produced the result. |
data.name |
The deparsed name of the x argument. |
has.na |
Logical, for compatibility (always FALSE). |
Maria Oliveira, Rosa M. Crujeiras and Alberto Rodriguez–Casal
Di Marzio, M., Panzera A. and Taylor, C. C. (2009) Local polynomial regression for circular predictors. Statistics and Probability Letters, 79, 2066–2075.
Di Marzio, M., Panzera A. and Taylor, C. C. (2012) Non–parametric regression for circular responses. Scandinavian Journal of Statistics, 40, 228–255.
Oliveira, M., Crujeiras R.M. and Rodriguez–Casal, A. (2013) Nonparametric circular methods for exploring environmental data. Environmental and Ecological Statistics, 20, 1–17.
Oliveira, M., Crujeiras R.M. and Rodriguez–Casal, A. (2014) NPCirc: an R package for nonparametric circular methods. Journal of Statistical Software, 61(9), 1–26. https://www.jstatsoft.org/v61/i09/
plot.regression.circular
, lines.regression.circular
### circular-linear data(speed.wind2) dir <- speed.wind2$Direction vel <- speed.wind2$Speed nas <- which(is.na(vel)) dir <- circular(dir[-nas],units="degrees") vel <- vel[-nas] estLL <- kern.reg.circ.lin(dir, vel, method="LL") estNW <- kern.reg.circ.lin(dir, vel, method="NW") # Circular representation res<-plot(estNW, plot.type="circle", points.plot=TRUE, labels=c("N","NE","E","SE","S","SO","O","NO"), label.pos=seq(0,7*pi/4,by=pi/4), zero=pi/2, clockwise=TRUE) lines(estLL, plot.type="circle", plot.info=res, line.col=2) # Linear representation plot(estNW, plot.type="line", points.plot=TRUE, xlab="direction", ylab="speed (m/s)") lines(estLL, plot.type="line", line.col=2) ### circular-circular data(wind) wind6 <- circular(wind$wind.dir[seq(7,1752,by=24)]) wind12 <- circular(wind$wind.dir[seq(13,1752,by=24)]) estNW <- kern.reg.circ.circ(wind6,wind12,t=NULL,bw=6.1,method="NW") estLL <- kern.reg.circ.circ(wind6,wind12,t=NULL,bw=2.25,method="LL") # Torus representation plot(estNW, plot.type="circle", points.plot=TRUE, line.col=2, lwd=2, points.col=2, units="degrees") lines(estLL, plot.type="circle", line.col=3, lwd=2) # Linear representation plot(estNW, plot.type="line", points.plot=TRUE, xlab="Wind direction at 6 a.m.", ylab="Wind direction at noon") lines(estLL, plot.type="line", line.col=2) ### linear-circular data(periwinkles) dist <- periwinkles$distance dir <- circular(periwinkles$direction, units="degrees") estNW <- kern.reg.lin.circ(dist,dir,t=NULL,bw=12.7,method="NW") estLL <- kern.reg.lin.circ(dist,dir,t=NULL,bw=200,method="LL") # Cylinder representation plot(estNW, plot.type="circle", points.plot=TRUE, line.col=2, lwd=2, points.col=2) lines(estLL, plot.type="circle", line.col=3, lwd=2) # Linear representation plot(estNW, plot.type="line", points.plot=TRUE, units="radians", main="") lines(estLL, plot.type="line", line.col=2, units="radians")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.