| plot.kde {ks} | R Documentation |
Kernel density estimate plot for 1- to 3-dimensional data.
## univariate
## S3 method for class 'kde':
plot(x, xlab, ylab="Density function", add=FALSE,
drawpoints=FALSE, ptcol="blue", col="black", jitter=TRUE, ...)
## bivariate
## S3 method for class 'kde':
plot(x, display="slice", cont=c(25,50,75), abs.cont,
xlab, ylab, zlab="Density function", add=FALSE, drawpoints=FALSE,
drawlabels=TRUE, theta=-30, phi=40, d=4,
ptcol="blue", col="black", ...)
## trivariate
## S3 method for class 'kde':
plot(x, cont=c(25,50,75), abs.cont, colors,add=FALSE,
drawpoints=FALSE, alphavec, xlab, ylab, zlab, size=3, ptcol="blue",
...)
x |
an object of class kde (output from
kde function) |
display |
type of display, "slice" for contour plot, "persp" for perspective plot, "image" for image plot, "filled" for filled contyour plot (2-d plot) |
cont |
vector of percentages for contour level curves |
abs.cont |
vector of absolute density estimate heights for contour level curves |
ptcol |
plotting colour for data points |
col |
plotting colour for density estimate (1-d, 2-d plot) |
colors |
vector of colours for each contour (3-d plot) |
jitter |
if TRUE then jitter rug plot (1-d plot) |
xlab,ylab,zlab |
axes labels |
add |
if TRUE then add to current plot |
theta,phi,d |
graphics parameters for perspective plots (2-d plot) |
drawpoints |
if TRUE then draw data points on density estimate |
drawlabels |
if TRUE then draw contour labels (2-d plot) |
alphavec |
vector of transparency values (3-d plot) |
size |
size of plotting symbol (3-d plot) |
... |
other graphics parameters |
– The 1-d plot is a standard plot of a 1-d curve. If
drawpoints=TRUE then a rug plot is added.
– There are three types of plotting displays for 2-d data available,
controlled by the display parameter.
If display="slice" then a slice/contour plot
is generated using contour.
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.
If display="persp" then a perspective/wire-frame plot
is generated. The default z-axis limits zlim are the default
from the usual persp command.
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 specifiy contours, either one of cont or abs.cont
is required. cont specifies upper percentages which
correspond to
highest density regions. If abs.cont=NULL then a pretty
set of contours is drawn. If abs.cont is set to particular
values, then contours at these levels are drawn.
This third option is useful for plotting
multiple density estimates with common contour levels. See
contourLevels for details on computing contour levels
for kde objects.
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.
Bowman, A.W. & Azzalini, A. (1997) Applied Smoothing Techniques for Data Analysis. Clarendon Press. Oxford.
Simonoff, J. S., (1996) Smoothing Methods in Statistics. Springer-Verlag. New York.
## univariate example x <- rnorm.mixt(n=100, mus=1, sigmas=1, props=1) fhat <- kde(x=x, h=hpi(x)) plot(fhat) ## bivariate example data(unicef) H.scv <- Hscv(x=unicef) fhat <- kde(x=unicef, H=H.scv) plot(fhat) plot(fhat, drawpoints=TRUE, drawlabels=FALSE, col=3, lwd=2) plot(fhat, display="persp") plot(fhat, display="image", col=rev(heat.colors(100))) plot(fhat, display="filled") ## pair of densities with same absolute contour levels x <- rmvnorm.mixt(n=100, mus=c(0,0), Sigmas=diag(2), props=1) Hx <- Hpi(x) fhatx <- kde(x=x, H=Hx, xmin=c(-4,-4), xmax=c(4,4)) y <- rmvnorm.mixt(n=100, mus=c(0.5,0.5), Sigmas=0.5*diag(2), props=1) Hy <- Hpi(y) fhaty <- kde(x=y, H=Hy, xmin=c(-4,-4), xmax=c(4,4)) lev <- contourLevels(fhatx, prob=c(0.25, 0.5, 0.75)) plot(fhatx, abs.cont=lev) plot(fhaty, abs.cont=lev, col=3, add=TRUE) ## large sample - 10000 sample from bivariate standard normal x <- rmvnorm.mixt(10000, c(0,0), diag(2)) H.pi <- Hpi.diag(x, binned=TRUE) fhat <- kde(x, H=H.pi, binned=TRUE) plot(fhat, drawpoints=FALSE, cont=seq(10,90, by=20)) ## trivariate example mus <- rbind(c(0,0,0), c(-1,1,1)) Sigma <- matrix(c(1, 0.7, 0.7, 0.7, 1, 0.7, 0.7, 0.7, 1), nr=3, nc=3) Sigmas <- rbind(Sigma, Sigma) props <- c(1/2, 1/2) x <- rmvnorm.mixt(n=100, mus=mus, Sigmas=Sigmas, props=props) H.pi <- Hpi(x, pilot="samse") fhat <- kde(x, H=H.pi) plot(fhat)