density.npEM | R Documentation |
Takes an object of class npEM
and returns an object of class
density
giving the kernel density estimate for the selected
component and, if applicable, the selected block.
## S3 method for class 'npEM'
density(x, u=NULL, component=1, block=1, scale=FALSE, ...)
x |
An object of class |
u |
Vector of points at which the density is to be evaluated |
component |
Mixture component number; should be an integer from 1 to the
number of columns of |
block |
Block of repeated measures. Only applicable in repeated measures
case, for which |
scale |
Logical: If TRUE, multiply the density values by the
corresponding mixing proportions found in |
... |
Additional arguments; not used by this method. |
The bandwidth is taken to be the same as that used to produce the npEM
object, which is given by x$bandwidth
.
density.npEM
returns a list of type "density"
. See
density
for details. In particular, the output of
density.npEM
may be used directly by functions such as
plot
or lines
.
npEM
, spEMsymloc
, plot.npEM
## Look at histogram of Old Faithful waiting times
data(faithful)
Minutes <- faithful$waiting
hist(Minutes, freq=FALSE)
## Superimpose equal-variance normal mixture fit:
set.seed(100)
nm <- normalmixEM(Minutes, mu=c(50,80), sigma=5, arbvar=FALSE, fast=TRUE)
x <- seq(min(Minutes), max(Minutes), len=200)
for (j in 1:2)
lines(x, nm$lambda[j]*dnorm(x, mean=nm$mu[j], sd=nm$sigma), lwd=3, lty=2)
## Superimpose several semiparametric fits with different bandwidths:
bw <- c(1, 3, 5)
for (i in 1:3) {
sp <- spEMsymloc(Minutes, c(50,80), bw=bw[i], eps=1e-3)
for (j in 1:2)
lines(density(sp, component=j, scale=TRUE), col=1+i, lwd=2)
}
legend("topleft", legend=paste("Bandwidth =",bw), fill=2:4)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.