Convert contrasts to data.frame of design factors
Source:R/jam_sedesign_to_factors.R
contrasts_to_factors.RdConvert contrasts to data.frame of design factors, each factor in a column, with factor levels or with factor level contrasts.
Usage
contrasts_to_factors(
contrast_names = NULL,
sedesign = NULL,
factor_names = NULL,
factor_sep = "_",
rowname = c("contrast", "comp"),
verbose = FALSE,
...
)Arguments
- contrast_names
charactervector of contrast names, orSEDesignobject, which is equivalent to argument 'sedesign'.- sedesign
SEDesignobject, used whencontrast_namesis not supplied.- factor_names
charactervector of colnames to use for the resultingdata.frame, typically the name of each experimental factor.- factor_sep
characterstring delimited between factors used in each group name. It is passed tocontrast2comp()ascontrast_factor_delim.- rowname
characterstring indicating which value to use for the row names:'contrast' uses the full contrast (default)
'comp' uses the abbreviated comp, from
contrast2comp()
- verbose
logicalindicating whether to print verbose output.- ...
additional arguments are passed to
contrast2comp()as relevant.
Value
data.frame with factors in each column, and values
indicating either individual factor levels, or comparison
of two factor levels.
Details
This function is intended to summarize contrasts by factor columns, with factor levels or with factor level contrasts, to make it easier to review which factor or factors are being compared in each contrast.
Note: It assumes all contrasts are "proper", which is defined as a contrast where only one factor is compared at a time for each contrast.
A proper contrast:
'A_B-C_B'This contrast compares 'factor1':
(A-C), both with 'factor2':B
An improper contrast:
'A_B-C_D'This contrast compares 'factor1':
(A-C), while 'factor2' is also changing:(B-D).However, it is "improper" because the factors are not independently controlled, instead the factors are confounded into one contrast.
The "proper" form, for the purpose of the assumptions in this function, is defined as a "two-way" style contrast, a "diff of diffs":
(A_B-C_B)-(A_D-B_D)
See also
Other jam experiment design:
SEDesign(),
[,SEDesign-method,
check_sedesign(),
contrast2comp(),
contrast_colors_by_group(),
contrast_names_to_sedesign(),
contrastnames(),
contrasts(),
contrasts<-(),
contrasts_to_venn_setlists(),
design,SEDesign-method,
draw_oneway_contrast(),
draw_twoway_contrast(),
factors(),
filter_contrast_names(),
groups(),
groups_to_sedesign(),
plot.SEDesign(),
plot_sedesign(),
print,SEDesign-method,
samples(),
sedesign_to_factors(),
sort_contrasts(),
validate_sedesign()
Examples
group_names <- paste0(
rep(c("UL3", "dH1A", "dH1B"), each=5), "_",
c("Veh", "DEX", "PMA", "SF", "Ins"))
sedesign <- groups_to_sedesign(group_names)
contrasts_to_factors(sedesign)
#> factor1 factor2
#> dH1A_Veh-UL3_Veh dH1A-UL3 Veh
#> dH1B_Veh-UL3_Veh dH1B-UL3 Veh
#> dH1B_Veh-dH1A_Veh dH1B-dH1A Veh
#> dH1A_DEX-UL3_DEX dH1A-UL3 DEX
#> dH1B_DEX-UL3_DEX dH1B-UL3 DEX
#> dH1B_DEX-dH1A_DEX dH1B-dH1A DEX
#> dH1A_PMA-UL3_PMA dH1A-UL3 PMA
#> dH1B_PMA-UL3_PMA dH1B-UL3 PMA
#> dH1B_PMA-dH1A_PMA dH1B-dH1A PMA
#> dH1A_SF-UL3_SF dH1A-UL3 SF
#> dH1B_SF-UL3_SF dH1B-UL3 SF
#> dH1B_SF-dH1A_SF dH1B-dH1A SF
#> dH1A_Ins-UL3_Ins dH1A-UL3 Ins
#> dH1B_Ins-UL3_Ins dH1B-UL3 Ins
#> dH1B_Ins-dH1A_Ins dH1B-dH1A Ins
#> UL3_DEX-UL3_Veh UL3 DEX-Veh
#> UL3_PMA-UL3_Veh UL3 PMA-Veh
#> UL3_SF-UL3_Veh UL3 SF-Veh
#> UL3_Ins-UL3_Veh UL3 Ins-Veh
#> UL3_PMA-UL3_DEX UL3 PMA-DEX
#> UL3_SF-UL3_DEX UL3 SF-DEX
#> UL3_Ins-UL3_DEX UL3 Ins-DEX
#> UL3_SF-UL3_PMA UL3 SF-PMA
#> UL3_Ins-UL3_PMA UL3 Ins-PMA
#> UL3_Ins-UL3_SF UL3 Ins-SF
#> dH1A_DEX-dH1A_Veh dH1A DEX-Veh
#> dH1A_PMA-dH1A_Veh dH1A PMA-Veh
#> dH1A_SF-dH1A_Veh dH1A SF-Veh
#> dH1A_Ins-dH1A_Veh dH1A Ins-Veh
#> dH1A_PMA-dH1A_DEX dH1A PMA-DEX
#> dH1A_SF-dH1A_DEX dH1A SF-DEX
#> dH1A_Ins-dH1A_DEX dH1A Ins-DEX
#> dH1A_SF-dH1A_PMA dH1A SF-PMA
#> dH1A_Ins-dH1A_PMA dH1A Ins-PMA
#> dH1A_Ins-dH1A_SF dH1A Ins-SF
#> dH1B_DEX-dH1B_Veh dH1B DEX-Veh
#> dH1B_PMA-dH1B_Veh dH1B PMA-Veh
#> dH1B_SF-dH1B_Veh dH1B SF-Veh
#> dH1B_Ins-dH1B_Veh dH1B Ins-Veh
#> dH1B_PMA-dH1B_DEX dH1B PMA-DEX
#> dH1B_SF-dH1B_DEX dH1B SF-DEX
#> dH1B_Ins-dH1B_DEX dH1B Ins-DEX
#> dH1B_SF-dH1B_PMA dH1B SF-PMA
#> dH1B_Ins-dH1B_PMA dH1B Ins-PMA
#> dH1B_Ins-dH1B_SF dH1B Ins-SF
#> (dH1A_DEX-UL3_DEX)-(dH1A_Veh-UL3_Veh) dH1A-UL3 DEX-Veh
#> (dH1A_PMA-UL3_PMA)-(dH1A_Veh-UL3_Veh) dH1A-UL3 PMA-Veh
#> (dH1A_SF-UL3_SF)-(dH1A_Veh-UL3_Veh) dH1A-UL3 SF-Veh
#> (dH1A_Ins-UL3_Ins)-(dH1A_Veh-UL3_Veh) dH1A-UL3 Ins-Veh
#> (dH1A_PMA-UL3_PMA)-(dH1A_DEX-UL3_DEX) dH1A-UL3 PMA-DEX
#> (dH1A_SF-UL3_SF)-(dH1A_DEX-UL3_DEX) dH1A-UL3 SF-DEX
#> (dH1A_Ins-UL3_Ins)-(dH1A_DEX-UL3_DEX) dH1A-UL3 Ins-DEX
#> (dH1A_SF-UL3_SF)-(dH1A_PMA-UL3_PMA) dH1A-UL3 SF-PMA
#> (dH1A_Ins-UL3_Ins)-(dH1A_PMA-UL3_PMA) dH1A-UL3 Ins-PMA
#> (dH1A_Ins-UL3_Ins)-(dH1A_SF-UL3_SF) dH1A-UL3 Ins-SF
#> (dH1B_DEX-UL3_DEX)-(dH1B_Veh-UL3_Veh) dH1B-UL3 DEX-Veh
#> (dH1B_PMA-UL3_PMA)-(dH1B_Veh-UL3_Veh) dH1B-UL3 PMA-Veh
#> (dH1B_SF-UL3_SF)-(dH1B_Veh-UL3_Veh) dH1B-UL3 SF-Veh
#> (dH1B_Ins-UL3_Ins)-(dH1B_Veh-UL3_Veh) dH1B-UL3 Ins-Veh
#> (dH1B_PMA-UL3_PMA)-(dH1B_DEX-UL3_DEX) dH1B-UL3 PMA-DEX
#> (dH1B_SF-UL3_SF)-(dH1B_DEX-UL3_DEX) dH1B-UL3 SF-DEX
#> (dH1B_Ins-UL3_Ins)-(dH1B_DEX-UL3_DEX) dH1B-UL3 Ins-DEX
#> (dH1B_SF-UL3_SF)-(dH1B_PMA-UL3_PMA) dH1B-UL3 SF-PMA
#> (dH1B_Ins-UL3_Ins)-(dH1B_PMA-UL3_PMA) dH1B-UL3 Ins-PMA
#> (dH1B_Ins-UL3_Ins)-(dH1B_SF-UL3_SF) dH1B-UL3 Ins-SF
#> (dH1B_DEX-dH1A_DEX)-(dH1B_Veh-dH1A_Veh) dH1B-dH1A DEX-Veh
#> (dH1B_PMA-dH1A_PMA)-(dH1B_Veh-dH1A_Veh) dH1B-dH1A PMA-Veh
#> (dH1B_SF-dH1A_SF)-(dH1B_Veh-dH1A_Veh) dH1B-dH1A SF-Veh
#> (dH1B_Ins-dH1A_Ins)-(dH1B_Veh-dH1A_Veh) dH1B-dH1A Ins-Veh
#> (dH1B_PMA-dH1A_PMA)-(dH1B_DEX-dH1A_DEX) dH1B-dH1A PMA-DEX
#> (dH1B_SF-dH1A_SF)-(dH1B_DEX-dH1A_DEX) dH1B-dH1A SF-DEX
#> (dH1B_Ins-dH1A_Ins)-(dH1B_DEX-dH1A_DEX) dH1B-dH1A Ins-DEX
#> (dH1B_SF-dH1A_SF)-(dH1B_PMA-dH1A_PMA) dH1B-dH1A SF-PMA
#> (dH1B_Ins-dH1A_Ins)-(dH1B_PMA-dH1A_PMA) dH1B-dH1A Ins-PMA
#> (dH1B_Ins-dH1A_Ins)-(dH1B_SF-dH1A_SF) dH1B-dH1A Ins-SF