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
NeuroVolobjects for beta/effect estimates. Names become subject IDs.- var
Optional named list of
NeuroVolobjects for variance estimates. Must have same names asbeta.- se
Optional named list of
NeuroVolobjects for standard error. Must have same names asbeta. Provide eithervarorse, not both.- contrast
Contrast name (default:
"contrast1").- mask
Optional mask. See
as_gds.NeuroVolfor 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().
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