Rev 42961 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/stats/man/kernel.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2007 R Core Development Team% Distributed under GPL 2 or later\name{kernel}\alias{kernel}\alias{bandwidth.kernel}\alias{df.kernel}\alias{is.tskernel}\alias{plot.tskernel}%\alias{print.tskernel}%\alias{[.tskernel}\title{Smoothing Kernel Objects}\description{The \code{"tskernel"} class is designed to represent discretesymmetric normalized smoothing kernels. These kernels can be used tosmooth vectors, matrices, or time series objects.There are \code{\link{print}}, \code{\link{plot}} and \code{\link{[}}methods for these kernel objects.}\usage{kernel(coef, m, r, name)df.kernel(k)bandwidth.kernel(k)is.tskernel(k)%%\method{print}{tskernel}(x, digits = max(3,getOption("digits")-3), ...)\method{plot}{tskernel}(x, type = "h", xlab = "k", ylab = "W[k]",main = attr(x,"name"), \dots)}\arguments{\item{coef}{the upper half of the smoothing kernel coefficients(including coefficient zero) \emph{or} the name of a kernel(currently \code{"daniell"}, \code{"dirichlet"}, \code{"fejer"} or\code{"modified.daniell"}.}\item{m}{the kernel dimension(s). When \code{m}has length larger than one, it means the convolution ofkernels of dimension \code{m[j]}, for \code{j in 1:length(m)}.Currently this is supported only for the named "*daniell" kernels.}\item{name}{the name the kernel will be called.}\item{r}{the kernel order for a Fejer kernel.}% \item{digits}{the number of digits to format real numbers.}\item{k,x}{a \code{"tskernel"} object.}\item{type, xlab, ylab, main, \dots}{arguments passed to\code{\link{plot.default}}.}}\details{\code{kernel} is used to construct a general kernel or named specifickernels. The modified Daniell kernel halves the end coefficients (asused by S-PLUS).The \code{\link{[}} method allows natural indexing of kernel objectswith indices in \code{(-m) : m}. The normalization is such that for\code{k <- kernel(*)}, \code{sum(k[ -k$m : k$m ])} is one.\code{df.kernel} returns the \sQuote{equivalent degrees of freedom} ofa smoothing kernel as defined in Brockwell and Davis (1991), page362, and \code{bandwidth.kernel} returns the equivalent bandwidth asdefined in Bloomfield (1976), p. 201, with a continuity correction.}\value{\code{kernel()} returns an object of class \code{"tskernel"} which isbasically a list with the two components \code{coef} and the kerneldimension \code{m}. An additional attribute is \code{"name"}.}\author{A. Trapletti; modifications by B.D. Ripley}\seealso{\code{\link{kernapply}}}\references{Bloomfield, P. (1976)\emph{Fourier Analysis of Time Series: An Introduction.}Wiley.Brockwell, P.J. and Davis, R.A. (1991)\emph{Time Series: Theory and Methods.}Second edition. Springer, pp. 350--365.}\examples{require(graphics)## Demonstrate a simple trading strategy for the## financial time series German stock index DAX.x <- EuStockMarkets[,1]k1 <- kernel("daniell", 50) # a long moving averagek2 <- kernel("daniell", 10) # and a short oneplot(k1)plot(k2)x1 <- kernapply(x, k1)x2 <- kernapply(x, k2)plot(x)lines(x1, col = "red") # go long if the short crosses the long upwardslines(x2, col = "green") # and go short otherwise## More interesting kernelskd <- kernel("daniell", c(3,3))kd # note the unusual indexingkd[-2:2]plot(kernel("fejer", 100, r=6))plot(kernel("modified.daniell", c(7,5,3)))# Reproduce example 10.4.3 from Brockwell and Davis (1991)spectrum(sunspot.year, kernel=kernel("daniell", c(11,7,3)), log="no")}\keyword{ts}