# Load iris dataset
data(iris)
# Compute Euclidean distances on numeric columns
dist_iris <- dist(iris[, 1:4])
# Create a grouping factor based on Species
group_species <- iris$Species
# --------------------------------------
# Classical MDS (2D)
# --------------------------------------
visualize_distances(
dist_mat = dist_iris,
method = "mds_classic",
k = 2,
group = group_species,
main_title = "Classical MDS - Iris Dataset - Euclidean Distance"
)
# --------------------------------------
# Weighted MDS (uniform weights)
# --------------------------------------
weights <- rep(1, nrow(iris))
visualize_distances(
dist_mat = dist_iris,
method = "mds_weighted",
k = 2,
weights = weights,
group = group_species,
main_title = "Weighted MDS - Iris Dataset - Euclidean Distance"
)
# --------------------------------------
# Heatmap (limit rows to 30)
# --------------------------------------
visualize_distances(
dist_mat = dist_iris,
method = "heatmap",
group = group_species,
main_title = "Iris Heatmap by Species - Euclidean Distance",
max_n = 30,
palette = "YlGnBu",
clustering_method = "complete",
annotation_legend = TRUE,
stratified_sampling = TRUE,
seed = 123
)
# --------------------------------------
# Network Graph (limit nodes to 30)
# --------------------------------------
visualize_distances(
dist_mat = dist_iris,
method = "qgraph",
group = group_species,
max_nodes = 30,
label_size = 2,
edge_threshold = 0.1,
layout = "spring",
seed = 123,
main_title = "Iris Network Graph by Species - Euclidean Distance"
)
Run the code above in your browser using DataLab