

   TTwwoo--DDiimmeennssiioonnaall KKeerrnneell DDeennssiittyy EEssttiimmaattiioonn

        kde2d(x, y, h, n=25, lims=c(range(x), range(y)))

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

          x: x coordinate of data

          y: y coordinate of data

          h: vector of bandwidths for x and y directions.
             Defaults to normal reference bandwidth.

          n: Number of grid points in each direction.

       lims: The limits of the rectangle covered by the grid as
             `c(xl, xu, yl, yu)'.

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

        Two-dimensional kernel density estimation with an axis-
        aligned bivariate normal kernel, evaluated on a square
        grid.

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

        A list of three components.

         x,: The x and y coordinates of the grid points, vec-
             tors of length `n'.

          z: An `n'  x  `n' matrix of the evaluated density.

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

        data(geyser)
        attach(geyser)
        plot(duration, waiting, xlim=c(0.5,6), ylim=c(40,100))
        f1 <- kde2d(duration, waiting, n=50, lims=c(0.5,6,40,100))
        image(f1, zlim = c(0, 0.05))
        f2 <- kde2d(duration, waiting, n=50, lims=c(0.5,6,40,100),
           h = c(width.SJ(duration), width.SJ(waiting)) )
        image(f2, zlim = c(0, 0.05))
        persp(f2, phi=30, theta=20, d=5)

        plot(duration[-272], duration[-1], xlim=c(0.5, 6),
            ylim=c(1, 6),xlab="previous duration", ylab="duration")
        f1 <- kde2d(duration[-272], duration[-1],
           h=rep(1.5, 2), n=50, lims=c(0.5,6,0.5,6))
        contour(f1 ,xlab="previous duration",
            ylab="duration", levels = c(0.05, 0.1, 0.2, 0.4) )
        f1 <- kde2d(duration[-272], duration[-1],
           h=rep(0.6, 2), n=50, lims=c(0.5,6,0.5,6))
        contour(f1 ,xlab="previous duration",
            ylab="duration", levels = c(0.05, 0.1, 0.2, 0.4) )
        f1 <- kde2d(duration[-272], duration[-1],
           h=rep(0.4, 2), n=50, lims=c(0.5,6,0.5,6))
        contour(f1 ,xlab="previous duration",
            ylab="duration", levels = c(0.05, 0.1, 0.2, 0.4) )
        detach("geyser")

