Implements the Segment Profile Extraction via Pattern
Analysis method for row-mean-centered multivariate data. Core
capabilities include SVD-based row-isometric biplot
construction, bias-corrected and accelerated, and percentile
bootstrap confidence intervals for domain coordinates and
per-person direction cosines, Procrustes alignment of bootstrap
replicates across planes, parallel analysis for dimensionality
selection, and segment profile reconstruction in planes defined
by pairs of singular dimensions. A synthetic Woodcock-Johnson IV
look-alike dataset is provided for examples and testing. The
method is described in Kim and Grochowalski (2019)
SEPA implements the Subprofile Extraction via Pattern Analysis method for ipsatized multivariate data. Given a matrix of domain scores (e.g., WJ-IV broad ability scores), SEPA removes the level-elevation component, fits a rank-K row-isometric SVD biplot, and quantifies each person's alignment with each domain via direction cosines, with bootstrap confidence intervals.
# Install from CRAN:
install.packages("SEPA")
library(SEPA)
# Run the full pipeline on the bundled synthetic dataset
res <- run_sepa(
data = fake_wj,
K = 4,
target_ids = c(724, 944, 1080, 2117),
B_dom = 2000,
B_cos = 2000,
seed = 20251003
)
print(res)
# SEPA result
# n = 5127 p = 7 K = 4
# Domains: LT, ST, CP, AP, VP, CK, FL
# PA significant dims: 1, 2, 3, 4
# Marker domains: LT, ST, VP, CK
# Exemplar cosine table for Plane 1
head(res$cosine_tables[["12"]], 14)
# Biplot
draw_sepa_biplot(
svd_fit = list(U = res$ref_fit$U, d = res$ref_fit$d_all, V = res$ref_fit$V),
id_vec = res$pid,
domain_names = res$domains,
ids_highlight = c(724, 944, 1080, 2117)
)
| Function | Description |
|---|---|
run_sepa() |
Full pipeline wrapper |
sepa_stats_all() |
Plane-fit rho + direction cosines |
parallel_analysis_ipsatized() |
Permutation-based dimensionality selection |
boot_cis_all() |
BCa confidence intervals |
percentile_ci_mat() |
Percentile confidence intervals |
draw_sepa_biplot() |
Row-isometric SVD biplot |
simulate_sepa_fake_wj() |
Synthetic WJ-IV data generator |
fake_wj is a 5,127-case synthetic dataset that approximates the WJ-IV marginal distributions. The original norming data are proprietary; this object provides a fully reproducible substitute.
If you use SEPA in your research, please cite:
Kim, S.-K. (2025). SEPA: Subprofile Extraction via Pattern Analysis. R package version 0.1.0. https://CRAN.R-project.org/package=SEPA
MIT © Se-Kang Kim