Nothing
## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(
screenshot.force = FALSE,
echo = TRUE,
rows.print = 5,
message = FALSE,
warning = FALSE)
## ----requirement--------------------------------------------------------------
library(PLNmodels)
library(factoextra)
## ----future, eval = FALSE-----------------------------------------------------
# library(future)
# plan(multisession, workers = 2)
## ----data_load----------------------------------------------------------------
data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
## ----nocov mixture------------------------------------------------------------
mixture_models <- PLNmixture(
Abundance ~ 1 + offset(log(Offset)),
data = trichoptera,
clusters = 1:4
)
## ----show nocov---------------------------------------------------------------
mixture_models
## ----collection criteria------------------------------------------------------
mixture_models$criteria %>% knitr::kable()
## ----convergence criteria-----------------------------------------------------
mixture_models$convergence %>% knitr::kable()
## ----objective----------------------------------------------------------------
mixture_models$plot_objective()
## ----plot nocov, fig.width=7, fig.height=5------------------------------------
plot(mixture_models)
## ----plot nocov-reverse, fig.width=7, fig.height=5----------------------------
plot(mixture_models, reverse = TRUE)
## ----model extraction---------------------------------------------------------
myMix_BIC <- getBestModel(mixture_models, "BIC")
myMix_2 <- getModel(mixture_models, 2)
## ----map, fig.width=8, fig.height=8-------------------------------------------
myMix_BIC
## -----------------------------------------------------------------------------
myMix_BIC$memberships
## -----------------------------------------------------------------------------
myMix_BIC$mixtureParam
## -----------------------------------------------------------------------------
myMix_BIC$posteriorProb %>% head() %>% knitr::kable(digits = 3)
## ----vcov---------------------------------------------------------------------
sigma(myMix_BIC) %>% purrr::map(as.matrix) %>% purrr::map(diag)
## ----coef, results='hide'-----------------------------------------------------
coef(myMix_BIC, 'main') # equivalent to myMix_BIC$model_par$Theta
coef(myMix_BIC, 'mixture') # equivalent to myMix_BIC$model_par$Pi, myMix_BIC$mixtureParam
coef(myMix_BIC, 'means') # equivalent to myMix_BIC$model_par$Mu, myMix_BIC$group_means
coef(myMix_BIC, 'covariance') # equivalent to myMix_BIC$model_par$Sigma, sigma(myMix_BIC)
## ----group-means--------------------------------------------------------------
myMix_BIC$group_means %>% head() %>% knitr::kable(digits = 2)
## -----------------------------------------------------------------------------
myMix_BIC$components[[1]]
## ----plot clustering----------------------------------------------------------
plot(myMix_BIC, "pca")
## ----plot reordered data------------------------------------------------------
plot(myMix_BIC, "matrix")
## ----predict_class_posterior--------------------------------------------------
predicted.class <- predict(myMix_BIC, newdata = trichoptera)
## equivalent to
## predicted.class <- predict(myMIX_BIC, newdata = trichoptera, type = "posterior")
predicted.class %>% head() %>% knitr::kable(digits = 2)
## ----predict_class------------------------------------------------------------
predicted.class <- predict(myMix_BIC, newdata = trichoptera,
prior = myMix_BIC$posteriorProb, type = "response")
predicted.class
## ----predicted_position, fig.width=7, fig.height=5----------------------------
predicted.position <- predict(myMix_BIC, newdata = trichoptera,
prior = myMix_BIC$posteriorProb, type = "position")
prcomp(predicted.position) %>%
factoextra::fviz_pca_ind(col.ind = predicted.class)
## ----future_off, eval = FALSE-------------------------------------------------
# future::plan("sequential")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.