Skip to contents

Estimate contrasts using Wald Test

Estimate contrasts using Wald Test

Super class

prolfqua::ContrastsInterface -> ContrastFrith

Public fields

models

Model

contrasts

character with contrasts

modelName

name of model

subject_Id

name of column containing e.g., protein Id's

p.adjust

function to adjust p-values (default prolfqua::adjust_p_values)

contrast_result

data frame containing results of contrast computation

Methods

Inherited methods


Method new()

initialize create Contrast

Usage

ContrastsFirth$new(
  model,
  contrasts,
  p.adjust = prolfqua::adjust_p_values,
  modelName = "WaldTestFirth"
)

Arguments

model

a dataframe with a structure similar to that generated by build_model

contrasts

a character vector with contrast specificiation

p.adjust

function to adjust the p-values

modelName

name of contrast method, default WaldTest


Method get_contrast_sides()

get both sides of contrasts

Usage

ContrastsFirth$get_contrast_sides()


Method get_linfct()

get linear functions from contrasts

Usage

ContrastsFirth$get_linfct(avg = TRUE)

Arguments

avg

logical TRUE - get also linfct for averages


Method get_contrasts()

get table with contrast estimates

Usage

ContrastsFirth$get_contrasts(all = FALSE)

Arguments

all

should all columns be returned (default FALSE)

Returns

data.frame with contrasts


Method get_Plotter()

return ContrastsPlotter creates Contrast_Plotter

Usage

ContrastsFirth$get_Plotter(FCthreshold = 1, FDRthreshold = 0.1)

Arguments

FCthreshold

fold change threshold to show in plots

FDRthreshold

FDR threshold to show in plots


Method to_wide()

convert to wide format

Usage

ContrastsFirth$to_wide(columns = c("p.value", "FDR", "statistic"))

Arguments

columns

value column default p.value

Returns

data.frame


Method clone()

The objects of this class are cloneable with this method.

Usage

ContrastsFirth$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples


modi <- sim_build_models_logistf(model = "parallel3", weight_missing = 1)
#> creating sampleName from fileName column
#> completing cases
#> completing cases done
#> setup done
#> completing cases
#> Joining with `by = join_by(protein_Id)`
#> Joining with `by = join_by(protein_Id)`
contrasts <- c(Avs = "group_A - group_B", AvsCtrl = "group_A - group_Ctrl")

ctr <- ContrastsFirth$new(modi,contrasts)
ctr$get_contrast_sides()
#> # A tibble: 2 × 3
#>   contrast group_1 group_2   
#>   <chr>    <chr>   <chr>     
#> 1 Avs      group_A group_B   
#> 2 AvsCtrl  group_A group_Ctrl
ctr$get_linfct()
#> <ContrastFrith>
#>   Inherits from: <ContrastsInterface>
#>   Public:
#>     clone: function (deep = FALSE) 
#>     column_description: function () 
#>     contrast_result: NULL
#>     contrasts: group_A - group_B group_A - group_Ctrl
#>     get_Plotter: function (FCthreshold = 1, FDRthreshold = 0.1) 
#>     get_contrast_sides: function () 
#>     get_contrasts: function (all = FALSE) 
#>     get_linfct: function (avg = TRUE) 
#>     initialize: function (model, contrasts, p.adjust = prolfqua::adjust_p_values, 
#>     modelName: WaldTestFirth
#>     models: ModelFirth, ModelInterface, R6
#>     p.adjust: function (mm, column = "p.value", group_by_col = "contrast", 
#>     subject_Id: protein_Id
#>     to_wide: function (columns = c("p.value", "FDR", "statistic")) 
ctr$get_contrasts()
#> determine linear functions:
#> get_contrasts -> contrasts_linfct
#> contrasts_linfct_firth
#> Joining with `by = join_by(protein_Id, contrast)`
#> # A tibble: 20 × 13
#> # Groups:   contrast [2]
#>    modelName protein_Id contrast sigma    df      diff   FDR std.error statistic
#>    <chr>     <chr>      <chr>    <dbl> <int>     <dbl> <dbl>     <dbl>     <dbl>
#>  1 WaldTest… 0EfVhX~00… Avs          1     9 -8.47e- 1 0.769      1.32 -6.40e- 1
#>  2 WaldTest… 0EfVhX~00… AvsCtrl      1     9 -8.47e- 1 0.769      1.32 -6.40e- 1
#>  3 WaldTest… 7cbcrd~57… Avs          1     9  6.90e-16 1          1.38  5.00e-16
#>  4 WaldTest… 7cbcrd~57… AvsCtrl      1     9  8.47e- 1 0.769      1.32  6.40e- 1
#>  5 WaldTest… 9VUkAq~47… Avs          1     9 -8.47e- 1 0.769      1.32 -6.40e- 1
#>  6 WaldTest… 9VUkAq~47… AvsCtrl      1     9  8.47e- 1 0.769      1.32  6.40e- 1
#>  7 WaldTest… BEJI92~52… Avs          1     9  8.47e- 1 0.769      1.32  6.40e- 1
#>  8 WaldTest… BEJI92~52… AvsCtrl      1     9  2.20e+ 0 0.769      1.74  1.26e+ 0
#>  9 WaldTest… CGzoYe~21… Avs          1     9  1.52e-15 1          2.11  7.20e-16
#> 10 WaldTest… CGzoYe~21… AvsCtrl      1     9  1.07e-15 1          2.11  5.08e-16
#> 11 WaldTest… DoWup2~58… Avs          1     9 -1.35e+ 0 0.769      1.78 -7.58e- 1
#> 12 WaldTest… DoWup2~58… AvsCtrl      1     9 -3.04e+ 0 0.769      1.78 -1.71e+ 0
#> 13 WaldTest… Fl4JiV~86… Avs          1     9  8.47e- 1 0.769      1.32  6.40e- 1
#> 14 WaldTest… Fl4JiV~86… AvsCtrl      1     9  8.47e- 1 0.769      1.32  6.40e- 1
#> 15 WaldTest… HvIpHG~90… Avs          1     9 -1.69e+ 0 0.769      1.38 -1.23e+ 0
#> 16 WaldTest… HvIpHG~90… AvsCtrl      1     9 -1.69e+ 0 0.769      1.38 -1.23e+ 0
#> 17 WaldTest… JcKVfU~96… Avs          1     9  1.52e-15 1          2.11  7.20e-16
#> 18 WaldTest… JcKVfU~96… AvsCtrl      1     9  1.07e-15 1          2.11  5.08e-16
#> 19 WaldTest… SGIVBl~57… Avs          1     9  1.35e+ 0 0.769      1.78  7.58e- 1
#> 20 WaldTest… SGIVBl~57… AvsCtrl      1     9 -4.13e-16 1          2.11 -1.96e-16
#> # ℹ 4 more variables: p.value <dbl>, conf.low <dbl>, conf.high <dbl>,
#> #   avgAbd <dbl>

mod3 <- sim_build_models_logistf(model = "parallel3", weight_missing = 1, peptide=TRUE)
#> creating sampleName from fileName column
#> completing cases
#> completing cases done
#> setup done
#> completing cases
#> Joining with `by = join_by(protein_Id)`
#> Joining with `by = join_by(protein_Id)`
#> Joining with `by = join_by(protein_Id)`
#> Joining with `by = join_by(protein_Id)`

ctrpep <- ContrastsFirth$new(mod3,contrasts)
ctrpep$get_contrast_sides()
#> # A tibble: 2 × 3
#>   contrast group_1 group_2   
#>   <chr>    <chr>   <chr>     
#> 1 Avs      group_A group_B   
#> 2 AvsCtrl  group_A group_Ctrl

ctrpep$get_linfct()
#> <ContrastFrith>
#>   Inherits from: <ContrastsInterface>
#>   Public:
#>     clone: function (deep = FALSE) 
#>     column_description: function () 
#>     contrast_result: NULL
#>     contrasts: group_A - group_B group_A - group_Ctrl
#>     get_Plotter: function (FCthreshold = 1, FDRthreshold = 0.1) 
#>     get_contrast_sides: function () 
#>     get_contrasts: function (all = FALSE) 
#>     get_linfct: function (avg = TRUE) 
#>     initialize: function (model, contrasts, p.adjust = prolfqua::adjust_p_values, 
#>     modelName: WaldTestFirth
#>     models: ModelFirth, ModelInterface, R6
#>     p.adjust: function (mm, column = "p.value", group_by_col = "contrast", 
#>     subject_Id: protein_Id
#>     to_wide: function (columns = c("p.value", "FDR", "statistic")) 
ctrpep$get_contrasts()
#> determine linear functions:
#> get_contrasts -> contrasts_linfct
#> contrasts_linfct_firth
#> contrasts_linfct_firth
#> Joining with `by = join_by(protein_Id, contrast)`
#> # A tibble: 20 × 13
#> # Groups:   contrast [2]
#>    modelName protein_Id contrast sigma    df      diff   FDR std.error statistic
#>    <chr>     <chr>      <chr>    <dbl> <int>     <dbl> <dbl>     <dbl>     <dbl>
#>  1 WaldTest… 0EfVhX~00… Avs          1    31 -1.02e+ 0 0.463     0.838 -1.22e+ 0
#>  2 WaldTest… 0EfVhX~00… AvsCtrl      1    31 -6.45e-10 1         0.822 -7.84e-10
#>  3 WaldTest… BEJI92~52… Avs          1    20  1.41e-10 1.000     1.04   1.35e-10
#>  4 WaldTest… BEJI92~52… AvsCtrl      1    20 -2.99e-16 1         1.04  -2.88e-16
#>  5 WaldTest… Fl4JiV~86… Avs          1    42 -7.13e- 1 0.518     0.695 -1.03e+ 0
#>  6 WaldTest… Fl4JiV~86… AvsCtrl      1    42  7.75e- 1 0.485     0.724  1.07e+ 0
#>  7 WaldTest… HvIpHG~90… Avs          1    20 -1.98e+ 0 0.425     1.09  -1.81e+ 0
#>  8 WaldTest… HvIpHG~90… AvsCtrl      1    20 -1.35e+ 0 0.485     0.984 -1.37e+ 0
#>  9 WaldTest… JcKVfU~96… Avs          1    75 -1.24e+ 0 0.463     0.879 -1.41e+ 0
#> 10 WaldTest… JcKVfU~96… AvsCtrl      1    75 -6.86e- 1 0.531     0.763 -8.99e- 1
#> 11 WaldTest… SGIVBl~57… Avs          1    64 -7.95e- 1 0.463     0.630 -1.26e+ 0
#> 12 WaldTest… SGIVBl~57… AvsCtrl      1    64 -7.95e- 1 0.485     0.630 -1.26e+ 0
#> 13 WaldTest… 7cbcrd~57… Avs          1     9  8.47e- 1 0.598     1.32   6.40e- 1
#> 14 WaldTest… 7cbcrd~57… AvsCtrl      1     9  1.69e+ 0 0.485     1.38   1.23e+ 0
#> 15 WaldTest… 9VUkAq~47… Avs          1     9 -1.35e+ 0 0.585     1.78  -7.58e- 1
#> 16 WaldTest… 9VUkAq~47… AvsCtrl      1     9 -4.39e+ 0 0.485     2.11  -2.08e+ 0
#> 17 WaldTest… CGzoYe~21… Avs          1     9  1.35e+ 0 0.585     1.78   7.58e- 1
#> 18 WaldTest… CGzoYe~21… AvsCtrl      1     9 -4.13e-16 1         2.11  -1.96e-16
#> 19 WaldTest… DoWup2~58… Avs          1     9  4.39e+ 0 0.425     2.11   2.08e+ 0
#> 20 WaldTest… DoWup2~58… AvsCtrl      1     9  3.04e+ 0 0.485     1.78   1.71e+ 0
#> # ℹ 4 more variables: p.value <dbl>, conf.low <dbl>, conf.high <dbl>,
#> #   avgAbd <dbl>
pl <- ctrpep$get_Plotter()