## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(
  collapse  = TRUE,
  comment   = "#>",
  fig.width = 7,
  fig.height = 5,
  eval      = FALSE
)

## ----load-package-------------------------------------------------------------
# library("SEPA")

## ----binary-data--------------------------------------------------------------
# data("ANR2", package = "SEPA")
# vars <- c("MDD", "DYS", "DEP", "PTSD", "OCD", "GAD", "ANX", "SOPH", "ADHD")
# head(ANR2[, vars])

## ----binary-workflow----------------------------------------------------------
# results_bin <- alsi_workflow(
#   data     = ANR2,
#   vars     = vars,
#   B_pa     = 2000,
#   B_boot   = 2000,
#   seed     = 20260123
# )

## ----binary-load--------------------------------------------------------------
# results_bin <- readRDS(system.file("extdata", "results_bin.rds",
#                                     package = "SEPA"))

## ----binary-pa----------------------------------------------------------------
# print(results_bin$pa)

## ----binary-stability---------------------------------------------------------
# print(results_bin$boot)
# plot_subspace_stability(results_bin$boot)

## ----binary-alsi--------------------------------------------------------------
# print(results_bin$alsi)
# summary(results_bin$alsi$alpha)

## ----binary-projections-------------------------------------------------------
# plot_category_projections(
#   results_bin$fit,
#   K         = results_bin$K,
#   alpha_vec = results_bin$alsi$alpha_vec,
#   top_n     = 10
# )

## ----ordinal-data-------------------------------------------------------------
# BFI            <- read.csv(system.file("extdata",
#                                         "BFI_Original_Ordinal_N500.csv",
#                                         package = "SEPA"))
# items          <- paste0("E", 1:10)
# reversed_items <- c("E2", "E4", "E6", "E8", "E10")
# head(BFI[, items])

## ----ordinal-freq-------------------------------------------------------------
# freq_table <- sapply(BFI[, items], function(x) table(factor(x, 1:5)))
# round(100 * freq_table / nrow(BFI), 1)

## ----ordinal-workflow---------------------------------------------------------
# results_ord <- alsi_workflow_ordinal(
#   data           = BFI,
#   items          = items,
#   reversed_items = reversed_items,
#   scale_min      = 1L,
#   scale_max      = 5L,
#   n_permutations = 100,
#   B_boot         = 1000,
#   seed           = 12345
# )

## ----ordinal-load-------------------------------------------------------------
# results_ord <- readRDS(system.file("extdata", "results_ord.rds",
#                                     package = "SEPA"))

## ----ordinal-pa---------------------------------------------------------------
# print(results_ord$pa_table)

## ----ordinal-stability--------------------------------------------------------
# print(results_ord$stability_table)
# plot_subspace_stability(results_ord)

## ----ordinal-alsi-------------------------------------------------------------
# print(results_ord)
# cat("oALSI summary:\n")
# print(summary(results_ord$ALSI_index))
# cat("\noALSI (z-scored) summary:\n")
# print(summary(results_ord$ALSI_z))

## ----continuous-data----------------------------------------------------------
# wawm4   <- read.csv(system.file("extdata", "wawm4.csv", package = "SEPA"))
# domains <- c("VC", "PR", "WO", "PS", "IM", "DM", "VWM", "VM", "AM")
# X       <- wawm4[, domains]
# cat("N =", nrow(X), " p =", ncol(X), "\n")

## ----continuous-workflow------------------------------------------------------
# results_cont <- calsi_workflow(
#   data       = X,
#   B_pa       = 2000,
#   B_boot     = 2000,
#   q          = 0.95,
#   seed       = 20260206,
#   K_override = 4
# )

## ----continuous-load----------------------------------------------------------
# results_cont <- readRDS(system.file("extdata", "results_cont.rds",
#                                      package = "SEPA"))

## ----continuous-pa------------------------------------------------------------
# print(results_cont$pa)

## ----continuous-stability-----------------------------------------------------
# print(results_cont$stability_table)
# plot_subspace_stability(results_cont)

## ----continuous-alsi----------------------------------------------------------
# print(results_cont)
# print(results_cont$domain_contrib)

## ----continuous-sepa----------------------------------------------------------
# sepa_comparison <- compare_sepa_calsi(
#   fit = results_cont$boot$ref,
#   K   = 4
# )
# print(sepa_comparison)

## ----session-info-------------------------------------------------------------
# sessionInfo()

