pkgdown/extra.css

Skip to contents

hd_plot_model_summary() plots the number of features and the number of top features (feature importance > user defined threshold) for each disease in a barplot. It also plots the upset plot of the top or all features, as well as a summary line plot of the model performance metrics.

Usage

hd_plot_model_summary(
  model_results,
  importance = 0.5,
  class_palette = NULL,
  upset_top_features = FALSE
)

Arguments

model_results

A list of binary classification model results. It should be a list of objects created by hd_model_rreg(), hd_model_rf() or hd_model_lr() with the classes as names. See the examples for more details.

importance

The importance threshold to consider a feature as top. Default is 0.5.

class_palette

The color palette for the classes. If it is a character, it should be one of the palettes from hd_palettes(). Default is NULL.

upset_top_features

Whether to plot the upset plot for the top features or all features. Default is FALSE (all features).

Value

A list with the binary classification model summary plots and results.

Examples

# Initialize an HDAnalyzeR object with only a subset of the predictors
hd_object <- hd_initialize(example_data, example_metadata)

# Split the data into training and test sets
hd_split <- hd_split_data(hd_object, variable = "Disease")
#> Warning: Too little data to stratify.
#>  Resampling will be unstratified.

# Run the regularized regression model pipeline
model_results_aml <- hd_model_rreg(hd_split,
                                   variable = "Disease",
                                   case = "AML",
                                   grid_size = 2,
                                   cv_sets = 2,
                                   verbose = FALSE)
#> The groups in the train set are balanced. If you do not want to balance the groups, set `balance_groups = FALSE`.

model_results_cll <- hd_model_rreg(hd_split,
                                   variable = "Disease",
                                   case = "CLL",
                                   grid_size = 2,
                                   cv_sets = 2,
                                   verbose = FALSE)
#> The groups in the train set are balanced. If you do not want to balance the groups, set `balance_groups = FALSE`.

model_results_myel <- hd_model_rreg(hd_split,
                                  variable = "Disease",
                                  case = "MYEL",
                                  grid_size = 2,
                                  cv_sets = 2,
                                  verbose = FALSE)
#> The groups in the train set are balanced. If you do not want to balance the groups, set `balance_groups = FALSE`.

model_results_lungc <- hd_model_rreg(hd_split,
                                     variable = "Disease",
                                     case = "LUNGC",
                                     grid_size = 2,
                                     cv_sets = 2,
                                     verbose = FALSE)
#> The groups in the train set are balanced. If you do not want to balance the groups, set `balance_groups = FALSE`.

model_results_gliom <- hd_model_rreg(hd_split,
                                     variable = "Disease",
                                     case = "GLIOM",
                                     grid_size = 2,
                                     cv_sets = 2,
                                     verbose = FALSE)
#> The groups in the train set are balanced. If you do not want to balance the groups, set `balance_groups = FALSE`.

res <- list("AML" = model_results_aml,
            "LUNGC" = model_results_lungc,
            "CLL" = model_results_cll,
            "MYEL" = model_results_myel,
            "GLIOM" = model_results_gliom)

# Plot summary visualizations
hd_plot_model_summary(res, class_palette = "cancers12")
#> $features_barplot

#> 
#> $metrics_barplot

#> 
#> $upset_plot_features

#> 
#> $features_df
#> # A tibble: 99 × 3
#>    Shared_in          `up/down` Feature
#>    <chr>              <chr>     <chr>  
#>  1 AML                up        AARSD1 
#>  2 AML&GLIOM          up        ABL1   
#>  3 LUNGC&CLL          up        ACAA1  
#>  4 AML&MYEL&GLIOM     up        ACAN   
#>  5 MYEL&GLIOM         up        ACE2   
#>  6 AML&CLL&GLIOM      up        ACOX1  
#>  7 AML&CLL&GLIOM      up        ACP5   
#>  8 AML&CLL&MYEL&GLIOM up        ACP6   
#>  9 AML&LUNGC&CLL&MYEL up        ACTA2  
#> 10 LUNGC&MYEL&GLIOM   up        ACTN4  
#> # ℹ 89 more rows
#> 
#> $features_list
#> $features_list$`AML&LUNGC&MYEL&GLIOM`
#>  [1] "ANGPT1"   "ADGRG1"   "AMY2A"    "ADAMTS16" "ANGPTL2"  "ANPEP"   
#>  [7] "ANXA11"   "ATXN10"   "AMBP"     "ARTN"     "ANGPT2"   "AZU1"    
#> 
#> $features_list$`AML&LUNGC&CLL&MYEL&GLIOM`
#> [1] "ADGRG1" "ANPEP"  "ATXN10" "ANGPT2" "AZU1"  
#> 
#> $features_list$`AML&GLIOM`
#>  [1] "ANGPT1"    "ADGRG1"    "AMY2A"     "ADAMTS16"  "ADA"       "AHCY"     
#>  [7] "ANGPTL2"   "ALCAM"     "APEX1"     "ABL1"      "ANPEP"     "ANKRD54"  
#> [13] "APOH"      "ADGRE2"    "ACP6"      "APOM"      "ACAN"      "ANXA11"   
#> [19] "AGR3"      "ARHGAP1"   "ADGRG2"    "ATXN10"    "AMBN"      "AMBP"     
#> [25] "ACP5"      "AGRN"      "ADAM15"    "ADAMTS13"  "ARTN"      "ATOX1"    
#> [31] "APLP1"     "ACY1"      "ANG"       "ATF2"      "ANGPT2"    "ALDH3A1"  
#> [37] "ANGPTL7"   "AZU1"      "B4GALT1"   "ADCYAP1R1" "AKT3"      "AGXT"     
#> [43] "ARSB"      "ARHGEF12"  "ACOX1"     "ATP6V1F"   "ADAM23"   
#> 
#> $features_list$`AML&LUNGC&GLIOM`
#>  [1] "ANGPT1"    "ADGRG1"    "AMY2A"     "ADAMTS16"  "AHCY"      "ANGPTL2"  
#>  [7] "ANPEP"     "ANKRD54"   "APOM"      "ANXA11"    "ATXN10"    "AMBP"     
#> [13] "AGRN"      "ARTN"      "ANGPT2"    "AZU1"      "ADCYAP1R1" "AGXT"     
#> 
#> $features_list$`AML&CLL&MYEL`
#>  [1] "ADGRG1"   "ADAM8"    "ALCAM"    "APEX1"    "ANPEP"    "AXL"     
#>  [7] "ACP6"     "ATXN10"   "AMBN"     "ACTA2"    "ANGPT2"   "AGRP"    
#> [13] "AZU1"     "ATP6V1F"  "ARHGAP25"
#> 
#> $features_list$`AML&LUNGC`
#>  [1] "ANGPT1"    "ADGRG1"    "AMY2A"     "ADAMTS16"  "AHCY"      "AMIGO2"   
#>  [7] "ANGPTL2"   "AMFR"      "AK1"       "ANPEP"     "ANKRD54"   "ALDH1A1"  
#> [13] "AXL"       "APBB1IP"   "APOM"      "ANXA11"    "ATXN10"    "AMBP"     
#> [19] "AGRN"      "ARTN"      "ANXA5"     "ACTA2"     "ARNT"      "AMN"      
#> [25] "ANGPT2"    "ANGPTL3"   "AOC3"      "AGRP"      "AZU1"      "ADCYAP1R1"
#> [31] "AGXT"      "ARHGAP25" 
#> 
#> $features_list$`AML&CLL&MYEL&GLIOM`
#>  [1] "ADGRG1"  "ALCAM"   "APEX1"   "ANPEP"   "ACP6"    "ATXN10"  "AMBN"   
#>  [8] "ANGPT2"  "AZU1"    "ATP6V1F"
#> 
#> $features_list$AML
#>  [1] ANGPT1    ADGRG1    AMY2A     ADAMTS16  ADA       AHCY      ADAM8    
#>  [8] AMIGO2    ANGPTL2   ALCAM     APEX1     ADH4      AMFR      AK1      
#> [15] ABL1      ANPEP     ATP6V1D   AARSD1    ANKRD54   APOH      ALDH1A1  
#> [22] AXL       APBB1IP   ADGRE2    ACP6      ATG4A     APOM      ACAN     
#> [29] ANXA11    AGR3      ARHGAP1   ADGRG2    ATXN10    APP       AMBN     
#> [36] AMBP      ACP5      AGRN      ADAM15    ADAMTS13  ARTN      ANXA5    
#> [43] ACTA2     ATOX1     APLP1     ARNT      ACY1      ANXA4     ANG      
#> [50] ATF2      AMN       ANGPT2    ALDH3A1   ANGPTL7   ANGPTL3   AKR1B1   
#> [57] AOC3      AGRP      AZU1      ANXA3     B4GALT1   ADCYAP1R1 AKT3     
#> [64] AGXT      ARSB      ATP5IF1   ARHGEF12  AKT1S1    ACOX1     ATP6V1F  
#> [71] ADAM23    ARHGAP25 
#> 100 Levels: ACAA1 ACE2 ACTN4 ADA2 ADAMTS15 ADAMTS8 ADGRE5 ADM AGER AGR2 ... ANGPT1
#> 
#> $features_list$`AML&LUNGC&CLL`
#>  [1] "ADGRG1"   "AMFR"     "ANPEP"    "ANKRD54"  "AXL"      "ATXN10"  
#>  [7] "ACTA2"    "ANGPT2"   "AGRP"     "AZU1"     "ARHGAP25"
#> 
#> $features_list$`AML&LUNGC&MYEL`
#>  [1] "ANGPT1"   "ADGRG1"   "AMY2A"    "ADAMTS16" "ANGPTL2"  "AK1"     
#>  [7] "ANPEP"    "AXL"      "APBB1IP"  "ANXA11"   "ATXN10"   "AMBP"    
#> [13] "ARTN"     "ANXA5"    "ACTA2"    "ANGPT2"   "ANGPTL3"  "AOC3"    
#> [19] "AGRP"     "AZU1"     "ARHGAP25"
#> 
#> $features_list$`AML&LUNGC&CLL&GLIOM`
#> [1] "ADGRG1"  "ANPEP"   "ANKRD54" "ATXN10"  "ANGPT2"  "AZU1"   
#> 
#> $features_list$`AML&MYEL&GLIOM`
#>  [1] "ANGPT1"   "ADGRG1"   "AMY2A"    "ADAMTS16" "ANGPTL2"  "ALCAM"   
#>  [7] "APEX1"    "ANPEP"    "APOH"     "ACP6"     "ACAN"     "ANXA11"  
#> [13] "AGR3"     "ADGRG2"   "ATXN10"   "AMBN"     "AMBP"     "ADAM15"  
#> [19] "ARTN"     "ATOX1"    "ANG"      "ATF2"     "ANGPT2"   "ANGPTL7" 
#> [25] "AZU1"     "ARSB"     "ARHGEF12" "ATP6V1F" 
#> 
#> $features_list$`AML&LUNGC&CLL&MYEL`
#> [1] "ADGRG1"   "ANPEP"    "AXL"      "ATXN10"   "ACTA2"    "ANGPT2"   "AGRP"    
#> [8] "AZU1"     "ARHGAP25"
#> 
#> $features_list$`AML&CLL&GLIOM`
#>  [1] "ADGRG1"   "ALCAM"    "APEX1"    "ANPEP"    "ANKRD54"  "ACP6"    
#>  [7] "ARHGAP1"  "ATXN10"   "AMBN"     "ACP5"     "ADAMTS13" "APLP1"   
#> [13] "ACY1"     "ANGPT2"   "AZU1"     "ACOX1"    "ATP6V1F" 
#> 
#> $features_list$`AML&CLL`
#>  [1] "ADGRG1"   "ADAM8"    "ALCAM"    "APEX1"    "AMFR"     "ANPEP"   
#>  [7] "ANKRD54"  "AXL"      "ACP6"     "ARHGAP1"  "ATXN10"   "APP"     
#> [13] "AMBN"     "ACP5"     "ADAMTS13" "ACTA2"    "APLP1"    "ACY1"    
#> [19] "ANGPT2"   "AGRP"     "AZU1"     "ATP5IF1"  "ACOX1"    "ATP6V1F" 
#> [25] "ARHGAP25"
#> 
#> $features_list$`AML&MYEL`
#>  [1] "ANGPT1"   "ADGRG1"   "AMY2A"    "ADAMTS16" "ADAM8"    "ANGPTL2" 
#>  [7] "ALCAM"    "APEX1"    "AK1"      "ANPEP"    "APOH"     "AXL"     
#> [13] "APBB1IP"  "ACP6"     "ACAN"     "ANXA11"   "AGR3"     "ADGRG2"  
#> [19] "ATXN10"   "AMBN"     "AMBP"     "ADAM15"   "ARTN"     "ANXA5"   
#> [25] "ACTA2"    "ATOX1"    "ANG"      "ATF2"     "ANGPT2"   "ANGPTL7" 
#> [31] "ANGPTL3"  "AOC3"     "AGRP"     "AZU1"     "ANXA3"    "ARSB"    
#> [37] "ARHGEF12" "ATP6V1F"  "ARHGAP25"
#> 
#> $features_list$`LUNGC&CLL&MYEL&GLIOM`
#> [1] "ATP5PO" "ATXN10" "ANPEP"  "ANGPT2" "ADGRG1" "AZU1"  
#> 
#> $features_list$LUNGC
#>  [1] APBB1IP   AOC3      ATP5PO    AMIGO2    ANXA10    ADM       AXL      
#>  [8] AMY2B     ANGPTL3   AMFR      ANGPTL2   ACTA2     ATXN10    AGR2     
#> [15] AGRP      AHCY      ADA2      ACTN4     ARG1      ANPEP     ANGPT2   
#> [22] AKR1C4    ADGRG1    ARNT      ACAA1     ANXA5     AZU1      ALDH1A1  
#> [29] AXIN1     ANXA11    AMY2A     APOM      ATP6AP2   AGRN      ADCYAP1R1
#> [36] ARTN      ART3      ANGPT1    ARID4B    ADAMTS16  AHSP      AMBP     
#> [43] AK1       AGXT      ARHGAP25  AOC1      AMN       ANKRD54  
#> 100 Levels: AARSD1 ABL1 ACAN ACE2 ACOX1 ACP5 ACP6 ACY1 ADA ADAM15 ... APBB1IP
#> 
#> $features_list$`LUNGC&MYEL&GLIOM`
#>  [1] "ATP5PO"   "ADM"      "AMY2B"    "ANGPTL2"  "ATXN10"   "ACTN4"   
#>  [7] "ANPEP"    "ANGPT2"   "ADGRG1"   "AZU1"     "ANXA11"   "AMY2A"   
#> [13] "ARTN"     "ANGPT1"   "ADAMTS16" "AHSP"     "AMBP"     "AOC1"    
#> 
#> $features_list$`LUNGC&MYEL`
#>  [1] "APBB1IP"  "AOC3"     "ATP5PO"   "ADM"      "AXL"      "AMY2B"   
#>  [7] "ANGPTL3"  "ANGPTL2"  "ACTA2"    "ATXN10"   "AGR2"     "AGRP"    
#> [13] "ADA2"     "ACTN4"    "ARG1"     "ANPEP"    "ANGPT2"   "ADGRG1"  
#> [19] "ANXA5"    "AZU1"     "ANXA11"   "AMY2A"    "ARTN"     "ANGPT1"  
#> [25] "ADAMTS16" "AHSP"     "AMBP"     "AK1"      "ARHGAP25" "AOC1"    
#> 
#> $features_list$`LUNGC&CLL`
#>  [1] "ATP5PO"   "AXL"      "AMFR"     "ACTA2"    "ATXN10"   "AGRP"    
#>  [7] "ANPEP"    "ANGPT2"   "AKR1C4"   "ADGRG1"   "ACAA1"    "AZU1"    
#> [13] "ATP6AP2"  "ARID4B"   "ARHGAP25" "ANKRD54" 
#> 
#> $features_list$`LUNGC&GLIOM`
#>  [1] "ATP5PO"    "ADM"       "AMY2B"     "ANGPTL2"   "ATXN10"    "AHCY"     
#>  [7] "ACTN4"     "ANPEP"     "ANGPT2"    "ADGRG1"    "AZU1"      "AXIN1"    
#> [13] "ANXA11"    "AMY2A"     "APOM"      "ATP6AP2"   "AGRN"      "ADCYAP1R1"
#> [19] "ARTN"      "ART3"      "ANGPT1"    "ARID4B"    "ADAMTS16"  "AHSP"     
#> [25] "AMBP"      "AGXT"      "AOC1"      "ANKRD54"  
#> 
#> $features_list$`LUNGC&CLL&GLIOM`
#> [1] "ATP5PO"  "ATXN10"  "ANPEP"   "ANGPT2"  "ADGRG1"  "AZU1"    "ATP6AP2"
#> [8] "ARID4B"  "ANKRD54"
#> 
#> $features_list$`CLL&GLIOM`
#>  [1] "ADAMTS8"  "ALCAM"    "ATP6V1F"  "APEX1"    "ARID4B"   "ATXN10"  
#>  [7] "ADGRG1"   "ATP6AP2"  "ANKRD54"  "AZU1"     "ADAMTS13" "ARHGAP1" 
#> [13] "AMBN"     "ACP6"     "ACOX1"    "ANPEP"    "APLP1"    "ANGPT2"  
#> [19] "ACP5"     "ATP5PO"   "ACY1"    
#> 
#> $features_list$`MYEL&GLIOM`
#>  [1] "ANPEP"    "ADAMTS15" "ARTN"     "APOH"     "ADM"      "AGR3"    
#>  [7] "AIFM1"    "AMBP"     "ATOX1"    "AREG"     "ADGRG1"   "ATP5PO"  
#> [13] "AMY2B"    "ALPP"     "AIF1"     "ACAN"     "ADGRE5"   "AMBN"    
#> [19] "ANGPTL7"  "AOC1"     "ADAM15"   "ACE2"     "ANGPT1"   "ARSB"    
#> [25] "ACTN4"    "ANXA11"   "ATF2"     "ATP6V1F"  "ADGRG2"   "ANGPT2"  
#> [31] "ARHGEF12" "ATXN10"   "ALCAM"    "APEX1"    "ADAMTS16" "AMY2A"   
#> [37] "AZU1"     "AHSP"     "ACP6"     "ANG"      "ANGPTL2" 
#> 
#> $features_list$MYEL
#>  [1] ANPEP    ADAMTS15 ARTN     APOH     ADM      ANGPTL3  ARHGAP25 AGR3    
#>  [9] AIFM1    AMBP     ATOX1    AGRP     AGR2     ARSA     AREG     ADGRG1  
#> [17] ATP5PO   ADA2     AMY2B    ALPP     ANGPTL1  AIF1     ACAN     ADGRE5  
#> [25] AMBN     AK1      ADAM8    ANGPTL7  AOC1     ADAM15   ACE2     ANGPT1  
#> [33] ARSB     APBB1IP  ACTA2    ACTN4    ANXA11   ATF2     AXL      ATP6V1F 
#> [41] ADGRG2   ANGPT2   ARHGEF12 ATXN10   ALCAM    APEX1    ADAMTS16 AMY2A   
#> [49] AZU1     AHSP     ACP6     ANG      ARG1     AOC3     ANXA3    ANGPTL2 
#> [57] ANGPTL4  ANXA5   
#> 100 Levels: AARSD1 ABL1 ACAA1 ACOX1 ACP5 ACY1 ADA ADAM23 ADAMTS13 ... ANPEP
#> 
#>