Skip to contents

Import matched lists of NeuroVol objects (e.g., beta and variance maps) into a GDS. This handles the common case of multiple subjects with a single contrast. For multiple contrasts, use gds_from_neurovol_nested().

Usage

gds_from_neurovols(
  beta,
  var = NULL,
  se = NULL,
  contrast = "contrast1",
  mask = NULL,
  col_data = NULL,
  ...
)

Arguments

beta

A named list of NeuroVol objects for beta/effect estimates. Names become subject IDs.

var

Optional named list of NeuroVol objects for variance estimates. Must have same names as beta.

se

Optional named list of NeuroVol objects for standard error. Must have same names as beta. Provide either var or se, not both.

contrast

Contrast name (default: "contrast1").

mask

Optional mask. See as_gds.NeuroVol for options.

col_data

Optional data frame of subject-level covariates. Row names must match subject IDs (names of beta).

...

Additional arguments passed to new_gds().

Value

A gds object.

Examples

if (requireNamespace("neuroim2", quietly = TRUE)) {
  sp <- neuroim2::NeuroSpace(c(4, 4, 2), spacing = c(2, 2, 2))
  make_vol <- function(x) neuroim2::NeuroVol(array(x, c(4, 4, 2)), sp)

  # Beta and variance maps for each subject
  beta_vols <- list(
    `sub-01` = make_vol(rnorm(32)),
    `sub-02` = make_vol(rnorm(32)),
    `sub-03` = make_vol(rnorm(32))
  )
  var_vols <- lapply(beta_vols, function(v) make_vol(runif(32, 0.5, 1.5)))

  gds_obj <- gds_from_neurovols(beta_vols, var = var_vols)
  print(gds_obj)

  # With subject covariates
  covars <- data.frame(age = c(25, 30, 35), group = c("A", "B", "A"),
                       row.names = c("sub-01", "sub-02", "sub-03"))
  gds_obj <- gds_from_neurovols(beta_vols, var = var_vols, col_data = covars)
  print(col_data(gds_obj))
}
#> GDS
#>   dims: 32 x 3 x 1 [sample x subject x contrast]
#>   space: voxel dim=4x4x2, storage=packed
#>   subjects: 3 (sub-01, sub-02, sub-03)
#>   contrasts: 1 (contrast1)
#>   assays: beta[location], var[variance]
#>        age group
#> sub-01  25     A
#> sub-02  30     B
#> sub-03  35     A