# NOT RUN {
# Generate simulated dataset.
n <- c(15, 15)
Theta <- list(pdf1 = rep("normal", 3),
theta1.1 = c(10, 20, 30),
theta2.1 = c(3, 2, 1),
pdf2 = rep("normal", 3),
theta1.2 = c(3, 4, 5),
theta2.2 = c(15, 10, 5))
simulated <- RNGMIX(Dataset.name = paste("simulated_", 1:4, sep = ""),
rseed = -1,
n = n,
Theta = Theta)
# Number of classes or nearest neighbours to be processed.
K <- c(as.integer(1 + log2(sum(n))), # Minimum v follows Sturges rule.
as.integer(10 * log10(sum(n)))) # Maximum v follows log10 rule.
# Estimate number of components, component weights and component parameters.
simulatedest <- REBMIX(model = "REBMVNORM",
Dataset = simulated@Dataset,
Preprocessing = "h",
cmax = 4,
Criterion = "BIC",
pdf = c("n", "n", "n"),
K = K[1]:K[2])
# Preprocess simulated dataset.
Dataset <- data.frame(c(-7, 1), NA, c(3, 7))
f <- dfmix(simulatedest, Dataset = Dataset, pos = 3, variables = c(1, 3))
f
# Plot finite mixture.
opar <- plot(simulatedest, pos = 3, nrow = 3, ncol = 1,
contour.drawlabels = TRUE, contour.labcex = 0.6)
par(usr = opar[[2]]$usr, mfg = c(2, 1))
points(x = f[, 1], y = f[, 2])
text(x = f[, 1], y = f[, 2], labels = format(f[, 3], digits = 3), cex = 0.8, pos = 4)
# }
Run the code above in your browser using DataLab