| density {mclust} | R Documentation |
This is exactly the same function as in the stats package but for the
method argument: if it is given and equals "mclust", the
mclust density estimation is used. Optionally, the number of
gaussians to be considered can be given as well (G).
density(..., method, G)
... |
Arguments to the density function in the base
package. |
method |
If equal to "mclust", EMclust is used to estimate
the density. |
G |
The number of gaussians to consider in the model-based density estimation. Default: 1:9. Ignored if method is not equal to "mclust". |
If give.Rkern is true, the number R(K), otherwise
an object with class "density" whose
underlying structure is a list containing the following components.
x |
the n coordinates of the points where the density is
estimated. |
y |
the estimated density values. |
bw |
the bandwidth used. |
N |
the sample size after elimination of missing values. |
call |
the call which produced the result. |
data.name |
the deparsed name of the x argument. |
has.na |
logical, for compatibility (always FALSE). |
Fraley, C. and Raftery, A.E. (2002) MCLUST: software for model-based clustering, density estimation and discriminant analysis. Technical Report No. 415, Dept. of Statistics, University of Washington.
Scott, D. W. (1992) Multivariate Density Estimation. Theory, Practice and Visualization. New York: Wiley.
Sheather, S. J. and Jones M. C. (1991) A reliable data-based bandwidth selection method for kernel density estimation. J. Roy. Statist. Soc. B, 683–690.
Silverman, B. W. (1986) Density Estimation. London: Chapman and Hall.
Venables, W. N. and Ripley, B. D. (1999) Modern Applied Statistics with S-PLUS. New York: Springer.
density (base package), bw.nrd,
plot.density, hist.
plot(density(c(-20,rep(0,98),20)), xlim = c(-4,4))# IQR = 0
# The Old Faithful geyser data
data(faithful)
d <- density(faithful$eruptions, bw = "sj")
d
plot(d)
dmc <- density(faithful$eruptions, method="mclust")
plot(dmc, type = "n")
polygon(dmc, col = "wheat")
lines(d, col="red")
## Missing values:
x <- xx <- faithful$eruptions
x[i.out <- sample(length(x), 10)] <- NA
doRmc <- density(x=x, method="mclust", na.rm = TRUE)
lines(doRmc, col="blue")
doR <- density(x, bw = 0.15, na.rm = TRUE)
lines(doR, col = "green")
rug(x)
points(xx[i.out], rep(0.01, 10))
## function formals returns something different now the original
## density function is masked...
base.density <- if(exists("density", envir = NULL)) {
get("density", envir = NULL)
} else if (methods::existsFunction("density.default",
where = asNamespace("stats")))
stats::density.default else stats::density
(kernels <- eval(formals(base.density)$kernel))
## show the kernels in the R parametrization
plot (density(0, bw = 1), xlab = "",
main="R's density() kernels with bw = 1")
for(i in 2:length(kernels))
lines(density(0, bw = 1, kern = kernels[i]), col = i)
legend(1.5,.4, legend = kernels, col = seq(kernels),
lty = 1, cex = .8, y.int = 1)
data(precip)
bw <- bw.SJ(precip) ## sensible automatic choice
plot(density(precip, bw = bw, n = 2^13))
lines(density(precip, G=2:5, method="mclust"), col="red")
rug(precip)