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)