Learn R Programming

ks (version 1.8.11)

plot.kde: Plot for kernel density estimate

Description

Plot for kernel density estimate for 1- to 3-dimensional data.

Usage

## S3 method for class 'kde':
plot(x, ...)

Arguments

x
an object of class kde (output from kde)
...
other graphics parameters

Value

  • Plot of 1-d and 2-d kernel density estimates are sent to graphics window. Plot for 3-d is generated by the misc3d and rgl libraries and is sent to RGL window.

Details

For kde objects, the function headers for the different dimensional data are ## univariate plot(x, xlab, ylab="Density function", add=FALSE, drawpoints=FALSE, ptcol="blue", col="black", cont.col=1, cont.lwd, jitter=FALSE, cont, abs.cont, approx.cont=FALSE, ...) ## bivariate plot(x, display="slice", cont=c(25,50,75), abs.cont, approx.cont=FALSE, xlab, ylab, zlab="Density function", add=FALSE, drawpoints=FALSE, drawlabels=TRUE, theta=-30, phi=40, d=4, ptcol="blue", col="black", ...)

## trivariate plot(x, cont=c(25,50,75), abs.cont, approx.cont=FALSE, colors, add=FALSE, drawpoints=FALSE, alpha, alphavec, xlab, ylab, zlab, size=3, ptcol="blue", ...)

The arguments are [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

The 1-d plot is a standard plot of a 1-d curve. If drawpoints=TRUE then a rug plot is added. If cont is specified, the horizontal line on the x-axis indicates the cont% highest density level set. There are different types of plotting displays for 2-d data available, controlled by the display parameter. (a) If display="slice" then a slice/contour plot is generated using contour. (b) If display is "filled.contour" or "filled.contour2" then a filled contour plot is generated. The default contours are at 25%, 50%, 75% or cont=c(25,50,75) which are upper percentages of highest density regions. See below for alternative contour levels. (c) display="persp" then a perspective/wire-frame plot is generated. The default z-axis limits zlim are the default from the usual persp command. (d) If display="image" then an image plot is generated. Default colours are the default from the usual image command.

For 3-dimensional data, the interactive plot is a series of nested 3-d contours. The default contours are cont=c(25,50,75). See below for alternative contour levels. The default colors are heat.colors and the default opacity alphavec ranges from 0.1 to 0.5.

To specify contours, either one of cont or abs.cont is required. cont specifies upper percentages which correspond to probability contour regions. If abs.cont is set to particular values, then contours at these levels are drawn. This second option is useful for plotting multiple density estimates with common contour levels. See contourLevels for details on computing contour levels. If approx=FALSE, then the exact KDE at x is computed. Otherwise the exact KDE is replaced by the KDE at the nearest grid point. This can dramatically reduce computation time for large data sets.

See Also

kde

Examples

Run this code
## univariate example
x <- rnorm.mixt(n=100, mus=1, sigmas=1, props=1)
fhat <- kde(x=x, h=hpi(x))  
plot(fhat, cont=50, cont.col="blue", cont.lwd=2)

## univariate positive data example
z <- 2^x
fhatz <- kde(x=z, h=hpi(log(z)), positive=TRUE)
  ## better to use hpi on log data
plot(fhatz)

## bivariate example
data(unicef)
H.scv <- Hscv(x=unicef)
fhat <- kde(x=unicef, H=H.scv, compute.cont=TRUE)
plot(fhat, drawpoints=TRUE, drawlabels=FALSE, col=3, lwd=3, cex=0.5)
plot(fhat, display="persp", border=NA, shade=0.3)
plot(fhat, display="image", col=rev(heat.colors(100)))
plot(fhat, display="filled.contour2", cont=seq(10,90,by=10))

## large bivariate sample, using binned estimation 
x <- rmvnorm.mixt(10000, c(0,0), invvech(c(1, 0.8, 1)))    
H <- Hpi(x, binned=TRUE)
fhat <- kde(x, H=H, binned=TRUE, compute.cont=TRUE)      
plot(fhat, display="filled.contour2")

Run the code above in your browser using DataLab