Create design matrix for model fitting
Argument specifying the columns of
Creates a design matrix specifying the models to be fitted. (Alternatively,
createFormula can be used to generate a model formula instead of a design
The design matrix can then be provided to the differential testing functions, together with the data object and contrast matrix.
experiment_info input (which was also previously provided to
prepareData) should be a data frame containing all factors and covariates
of interest. For example, depending on the experimental design, this may include the
group IDs (e.g. groups for differential testing)
block IDs (e.g. patient IDs in a paired design)
batch IDs (batch effects)
cols_design specifies which columns in
include in the design matrix. (For example, there may be an additional column of sample
IDs, which should not be included.) This can be provided as a character vector of
column names, a numeric vector of column indices, or a logical vector. By default, all
columns are included.
Columns of indicator variables (e.g. group IDs, block IDs, and batch IDs) in
experiment_info must be formatted as factors (otherwise they will be treated as
numeric values). The indicator columns will be expanded into the design matrix format.
The names for each parameter are taken from the column names of
All factors provided here will be included as fixed effect terms in the design matrix.
Alternatively, to use random effects for some factors (e.g. for block IDs), see
createFormula; or, depending on the method used, provide them directly to
the differential testing function (
design: Returns a design matrix (numeric matrix), with one row per
sample, and one column per model parameter.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
# For a complete workflow example demonstrating each step in the 'diffcyt' pipeline, # see the package vignette. # Example: simple design matrix experiment_info <- data.frame( sample_id = factor(paste0("sample", 1:4)), group_id = factor(c("group1", "group1", "group2", "group2")), stringsAsFactors = FALSE ) createDesignMatrix(experiment_info, cols_design = "group_id") # Example: more complex design matrix: patient IDs and batch IDs experiment_info <- data.frame( sample_id = factor(paste0("sample", 1:8)), group_id = factor(rep(paste0("group", 1:2), each = 4)), patient_id = factor(rep(paste0("patient", 1:4), 2)), batch_id = factor(rep(paste0("batch", 1:2), 4)), stringsAsFactors = FALSE ) createDesignMatrix(experiment_info, cols_design = c("group_id", "patient_id", "batch_id")) # Example: more complex design matrix: continuous covariate experiment_info <- data.frame( sample_id = factor(paste0("sample", 1:4)), group_id = factor(c("group1", "group1", "group2", "group2")), age = c(52, 35, 71, 60), stringsAsFactors = FALSE ) createDesignMatrix(experiment_info, cols_design = c("group_id", "age"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.