## ----setup, include=TRUE------------------------------------------------------ # Load necessary libraries library(MASS) # For generating multivariate normal data library(simBKMRdata) # For generating skewed Gamma data and estimating moments ## ----------------------------------------------------------------------------- # Example using MASS::mvrnorm for normal distribution param_list <- list( Group1 = list( mean_vec = c(1, 2), sampCorr_mat = matrix(c(1, 0.5, 0.5, 1), 2, 2), sampSize = 100 ), Group2 = list( mean_vec = c(2, 3), sampCorr_mat = matrix(c(1, 0.3, 0.3, 1), 2, 2), sampSize = 150 ) ) mvnorm_samples <- simulate_group_data(param_list, MASS::mvrnorm, "Group") ## ----------------------------------------------------------------------------- # Plot the first two variables of the multivariate normal data plot( mvnorm_samples[, 1], mvnorm_samples[, 2], main = "Scatterplot: MV Normal Data", xlab = "Variable 1", ylab = "Variable 2", pch = 19, col = "blue" ) ## ----------------------------------------------------------------------------- myData <- data.frame( GENDER = c('Male', 'Female', 'Male', 'Female', 'Male', 'Female'), VALUE1 = c(1.2, 2.3, 1.5, 2.7, 1.35, 2.5), VALUE2 = c(3.4, 4.5, 3.8, 4.2, 3.6, 4.35) ) calculate_stats_gaussian(data_df = myData, group_col = "GENDER") ## ----------------------------------------------------------------------------- # Example using generate_mvGamma_data for Gamma distribution param_list <- list( Group1 = list( sampCorr_mat = matrix(c(1, 0.5, 0.5, 1), 2, 2), shape_num = c(2, 2), rate_num = c(1, 1), sampSize = 100 ), Group2 = list( sampCorr_mat = matrix(c(1, 0.3, 0.3, 1), 2, 2), shape_num = c(2, 2), rate_num = c(1, 1), sampSize = 150 ) ) gamma_samples <- simulate_group_data( param_list, generate_mvGamma_data, "Group" ) ## ----------------------------------------------------------------------------- # Plot the density of the first and second variable for Gamma data old_par_mfrow <- par()[["mfrow"]] par(mfrow = c(2, 1)) plot(density(gamma_samples[, 1]), main = "Gamma Variable 1", col = "blue") plot(density(gamma_samples[, 2]), main = "Gamma Variable 2", col = "blue") par(mfrow = old_par_mfrow) ## ----------------------------------------------------------------------------- myData <- data.frame( GENDER = c('Male', 'Female', 'Male', 'Female', 'Male', 'Female'), VALUE1 = c(1.2, 2.3, 1.5, 2.7, 1.35, 2.5), VALUE2 = c(3.4, 4.5, 3.8, 4.2, 3.6, 4.35) ) calculate_stats_gamma(data_df = myData, group_col= "GENDER", using = "MoM")