knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
library(clusterwiselmm) library(ggplot2)
lvl2_corr_mat = matrix(c(1, 0, 0, 1), 2, 2) lvl3_corr_mat = matrix(c(100, 0, 0, 100), 2, 2)
set.seed(10) data = simulate_data( n1 = 25, n2 = 8, n3 = 3, fixed_slope = -2, fixed_intercept = 2, lvl2_corr_mat = lvl2_corr_mat, lvl3_corr_mat = lvl3_corr_mat, sigma2 = 1 ) head(data, 5)
print(toString(c("random effet lvl3 intercepts :", unique(data$lvl3_intercepts)))) print(toString(c("random effet lvl3 slopes :", unique(data$lvl3_slopes)))) print(toString(c("random effet lvl2 intercepts :", unique(data$lvl2_intercepts)))) print(toString(c("random effet lvl2 slopes :", unique(data$lvl2_slopes))))
print(ggplot2::ggplot(data = data) + geom_point(aes(x = x, y= y, col=lvl3)) + ggtitle("level 3 groups")) print(ggplot2::ggplot(data = data) + geom_point(aes(x = x, y= y, col=lvl3)) + facet_wrap(data$lvl2)+ ggtitle("level 3 groups for each level 2 group"))
formula = formula(y ~ x + (x||lvl2)) final_model = clusterwiselmm(data = data, target=data$y, K=3, formula = formula, nb_trials = 1 ) print(toString(c("Final mse :", final_model$cost)))
print(ggplot2::ggplot(data = data) + geom_point(aes(x = x, y= y, col=as.factor(final_model$clusters))) + ggtitle("level 3 groups")) print(ggplot2::ggplot(data = data) + geom_point(aes(x = x, y= y, col=as.factor(final_model$clusters))) + facet_wrap(data$lvl2)+ ggtitle("level 3 groups for each level 2 group"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.