

   EEssttiimmaattee FFuunnccttiioonnss UUssiinngg LLooccaall PPoollyynnoommiiaallss

        locpoly(x, y, drv=0, degree=<<see below>>, kernel="normal",
                bandwidth, gridsize=401, bwdisc=25,
                range.x=<<see below>>,  binned=F, truncate=T)

   AArrgguummeennttss::

          x: vector of x data.  Missing values are not
             accepted.

   bandwidth: the kernel bandwidth smoothing parameter.  It may
             be a single number or an array having length
             `gridsize', representing a bandwidth that varies
             according to the location of estimation.

          y: vector of y data.  This must be same length as
             `x', and missing values are not accepted.

        drv: order of derivative to be estimated.

     degree: degree of local polynomial used. Its value must be
             greater than or equal to the value of `drv'. The
             default value is of `degree' is `drv' + 1.

     kernel: `"normal"' - the Gaussian density function.

   gridsize: number of equally-spaced grid points over which
             the function is to be estimated.

     bwdisc: number of logarithmically-equally-spaced band-
             widths on which `bandwidth' is discretised, to
             speed up computation.

    range.x: vector containing the minimum and maximum values
             of `x' at which to compute the estimate.

     binned: logical flag: if `TRUE', then `x' and `y' are
             taken to be grid counts rather than raw data.

   truncate: logical flag: if `TRUE', data with `x' values out-
             side the range specified by `range.x' are ignored.

   DDeessccrriippttiioonn::

        Estimates a probability density function, regression
        function or their derivatives using local polynomials.
        A fast binned implementation over an equally-spaced
        grid is used.

   VVaalluuee::

        if `y' is specified, a local polynomial regression
        estimate of E[Y|X] (or its derivative) is computed.  If
        `y' is missing, a local polynomial estimate of the den-
        sity of `x' (or its derivative) is computed.

        a list containing the following components:

          x: vector of sorted x values at which the estimate
             was computed.

          y: vector of smoothed estimates for either the den-
             sity or the regression at the corresponding `x'.

   DDeettaaiillss::

        Local polynomial fitting with a kernel weight is used
        to estimate either a density, regression function or
        their derivatives. In the case of density estimation,
        the data are binned and the local fitting procedure is
        applied to the bin counts. In either case, binned
        approximations over an equally-spaced grid is used for
        fast computation. The bandwidth may be either scalar or
        a vector of length `gridsize'.

   RReeffeerreenncceess::

        Wand, M. P. and Jones, M. C. (1995).  Kernel Smoothing.
        Chapman and Hall, London.

   SSeeee AAllssoo::

        `bkde', `density', `dpill', `ksmooth', `loess',
        `smooth', `supsmu'.

   EExxaammpplleess::

        data(geyser)
        x <- geyser$duration
        est <- locpoly(x,bandwidth=0.25)
        plot(est,type="l")
        # local linear density estimate
        y <- geyser$waiting
        plot(x,y)
        fit <- locpoly(x,y,bandwidth=0.25)
        lines(fit)
        # local linear regression estimate

