burst: Splitting an Input Object into a List of Columns

View source: R/tools.R

burstR Documentation

Splitting an Input Object into a List of Columns

Description

Splits a (numeric/logical/character) vector, matrix, data.frame or a list of such into a list of columns, with corresponding group and variable information as well as labels. This is an auxiliary function for checking and converting the data argument of zenplot().

Usage

burst(x, labs = list())

Arguments

x

A numeric vector, matrix, data.frame or, for burst(), a list of such.

labs

Either NULL (in which case neither group nor variable labels are used or computed) or a list with components

group - the group label basename or labels for the groups (or NULL for no group labels)

var - the variable label basename or labels for the variables (or NULL for no variable labels)

sep - the string used as the separator between group and variable labels

group2d - a logical indicating whether labels of group_2d_*() plots are affected by group = NULL (or printed anyway)

If any of these components is not given, it is set to the defaults as described in zenplot(). Note that if at least one (group or variable) label is given in x, then those (original) labels will be used. If labs = NULL, neither group nor variable labels are used.

Value

A list with components

xcols - a list containing the column vectors of x

groups - the group number for each column of x

vars - the variable number (within each group) for each column of x

glabs - the group label for each column of x

labs - the group and variable labels for each column of x

Note

Performance critical

Author(s)

Marius Hofert

See Also

Other tools for constructing your own plot1d and plot2d functions: burst_aux(), check_zargs(), extract_1d(), extract_2d(), plot_indices()

Examples

## Unnamed list of (some named, some unnamed) valid components
A <- matrix(1:12, ncol = 3)
x <- list(A, 1:4, as.data.frame(A))

burst(x, labs = list(group = "G", var = "V", sep = ", "))
burst(x) # the same defaults as above
burst(x, labs = list(sep = " ")) # only changing the separator
## Note: - No group labels are given in 'x' and thus they are constructed
##         in the above call
##        - The variable names are only constructed if not given

burst(x, labs = list(group = ""))
burst(x, labs = list(group = NULL, group2d = TRUE)) # no group labels
##  Note: There's no effect of 'group2d = TRUE' visible here as
##        'x' doesn't contain group labels

burst(x, labs = list(group = NULL)) # no group labels unless groups change
burst(x, labs = list(var = NULL)) # no variable labels
burst(x, labs = list(group = NULL, var = NULL)) # neither one
burst(x, labs = NULL) # similarly, without any labels at all

##  Named list
x <- list(mat = A, vec = 1:4, df = as.data.frame(A))
burst(x)
##  Note: - The given group labels are used
##        - The variable names are only constructed if not given

burst(x, labs = list(group = NULL, group2d = TRUE)) # no group labels
burst(x, labs = list(group = NULL)) # no group labels unless groups change
##  Note: Now the effect of 'group2d' is visible.

##  Partially named list
x <- list(mat = A, vec = 1:4, as.data.frame(A))
burst(x)
burst(x, labs = list(group = NULL, group2d = TRUE)) # no group labels
burst(x, labs = list(group = NULL)) # no group labels unless groups change
burst(x, labs = list(var = NULL)) # no variable labels
burst(x, labs = list(group = NULL, var = NULL)) # only group labels and only if groups change
burst(x, labs = NULL) # neither group nor variable labels

zenplots documentation built on Nov. 8, 2023, 1:10 a.m.