Nothing
## ----setup, include=FALSE-----------------------------------------------------
library(GeometricMorphometricsMix)
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## -----------------------------------------------------------------------------
set.seed(123)
if (requireNamespace("MASS", quietly = TRUE)) {
# Group A: smaller, more compact group
grpA = MASS::mvrnorm(25, mu = rep(0, 8), Sigma = diag(8) * 0.5)
# Group A: 25 observations, centered at origin, low variance
# Group B: larger, more dispersed group
grpB = MASS::mvrnorm(40, mu = rep(2, 8), Sigma = diag(8) * 1.5)
# Group B: 40 observations, shifted mean, higher variance
# Group C: intermediate size and dispersion
grpC = MASS::mvrnorm(30, mu = rep(-1, 8), Sigma = diag(8) * 1.0)
# Group C: 30 observations, negative mean, intermediate variance
# Combine data
Data = rbind(grpA, grpB, grpC)
groups = factor(c(rep("A", nrow(grpA)), rep("B", nrow(grpB)), rep("C", nrow(grpC))))
# Combined dataset with group labels
cat("Sample sizes:\n")
table(groups)
# Display sample sizes for each group
}
## -----------------------------------------------------------------------------
if (requireNamespace("MASS", quietly = TRUE)) {
# Bootstrap multivariate variance
boot_mv = disparity_resample(Data,
group = groups,
n_resamples = 1000,
statistic = "multivariate_variance",
bootstrap_rarefaction = "bootstrap",
CI = 0.95)
# Bootstrap analysis of multivariate variance with 95% CI
print(boot_mv)
# Display formatted results with CI overlap assessment
# Bootstrap mean pairwise Euclidean distance
boot_ed = disparity_resample(Data,
group = groups,
n_resamples = 1000,
statistic = "mean_pairwise_euclidean_distance",
bootstrap_rarefaction = "bootstrap")
# Bootstrap analysis of mean pairwise Euclidean distances
cat("\nMean pairwise Euclidean distance results:\n")
boot_ed$results
# Direct access to results table
}
## -----------------------------------------------------------------------------
if (requireNamespace("MASS", quietly = TRUE) && requireNamespace("geometry", quietly = TRUE)) {
# Bootstrap convex hull volume
rare_hull = disparity_resample(prcomp(Data)$x[,seq(3)],
group = groups,
n_resamples = 200,
statistic = "convex_hull_volume",
bootstrap_rarefaction = "rarefaction",
sample_size = "smallest")
# Rarefaction analysis of convex hull volume
# Note: fewer resamples due to computational intensity, using the scores along
# the first few principal components due to the potential issues with the convex hull and high dimensional data
print(rare_hull)
# Convex hull results - Group B should have largest volume
}
## ----fig.width=7, fig.height=5------------------------------------------------
# Plot bootstrap multivariate variance results
plot(boot_mv)
# Plot rarefaction for convex hull volume
plot(rare_hull)
cat("Plotting methods create ggplot2 confidence interval plots\n")
cat("showing average values and confidence intervals for each group.\n")
## -----------------------------------------------------------------------------
if (requireNamespace("MASS", quietly = TRUE)) {
# Test Groups A vs B (different variances expected)
test_AB = disparity_test(grpA, grpB, perm = 999)
# Permutation test between groups A and B
cat("Groups A vs B comparison:\n")
print(test_AB)
# Results show observed values, differences, and p-values
# Test Groups A vs C (more similar variances expected)
test_AC = disparity_test(grpA, grpC, perm = 999)
# Permutation test between groups A and C
cat("\nGroups A vs C comparison:\n")
print(test_AC)
# Compare groups with more similar dispersions
}
## -----------------------------------------------------------------------------
# Simulate univariate data
set.seed(456)
uni_A = rnorm(30, mean = 0, sd = 1)
# Group A: normal distribution, sd=1
uni_B = rnorm(35, mean = 0, sd = 2)
# Group B: normal distribution, sd=2 (higher variance)
uni_data = c(uni_A, uni_B)
uni_groups = factor(c(rep("A", length(uni_A)), rep("B", length(uni_B))))
# Combined univariate dataset
# Bootstrap analysis of univariate variance
uni_boot = disparity_resample(uni_data,
group = uni_groups,
n_resamples = 1000,
bootstrap_rarefaction = "bootstrap")
# Bootstrap for univariate data (statistic argument ignored)
cat("Univariate variance analysis:\n")
print(uni_boot)
# Group B should show higher variance
plot(uni_boot)
# Plotting univariate bootstrap results
## -----------------------------------------------------------------------------
if (requireNamespace("MASS", quietly = TRUE)) {
# Single group bootstrap analysis
single_boot = disparity_resample(grpB,
n_resamples = 500,
statistic = "multivariate_variance",
bootstrap_rarefaction = "bootstrap")
# Analysis of Group B alone
cat("Single group analysis (Group B):\n")
print(single_boot)
# Confidence interval for single group disparity
}
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.