27  Mass-univariate analysis

Mass-univariate analysis fits a separate model for each response using a shared predictor set. It is used to characterize associations across many measurements, including molecular and imaging features.

27.1 Generate example data

set.seed(2026L)
x <- data.frame(exposure = rnorm(100))
y <- as.data.frame(matrix(rnorm(100 * 50), nrow = 100))
names(y) <- paste0("feature_", seq_len(ncol(y)))
y[["feature_3"]] <- y[["feature_3"]] + 0.8 * x[["exposure"]]
y[["feature_24"]] <- y[["feature_24"]] - 0.7 * x[["exposure"]]

27.2 Fit and display associations

fit <- massGLM(x, y)
2026-10-08 02:54:17 ▶ [massGLM]
2026-10-08 02:54:17 Scaling and centering 50 numeric features... [preprocess]
2026-10-08 02:54:17 Preprocessing done. [preprocess]
2026-10-08 02:54:17 Fitting 50 GLMs of family gaussian with 1 predictor each... [massGLM]

⠋ GLMs 1/50
⠙ GLMs 50/50
            
2026-10-08 02:54:17 ✔ GLMs 50/50 done in 0:00
2026-10-08 02:54:17 Done in 0.09 seconds. [massGLM]
fit
<MassGLM>
50 GLMs of family gaussian with 1 predictor each.
Available coefficients: exposure
plot(fit)
plot_manhattan(fit)

The volcano plot displays coefficients against negative log-transformed p-values. The Manhattan plot displays evidence across response variables. A displayed significance threshold describes the plotted statistic; the analysis must specify its treatment of multiple testing.

If associations are used to select predictors for a predictive model, perform that selection within the training data at each assessment split.

© 2026 E.D. Gennatas