The function uses a 'galgo.Obj' as input an the training dataset to evaluate the non-dominated solutions found by GalgoR

non_dominated_summary (output, prob_matrix, OS,
distancetype = "pearson")

Arguments

output

An object of class galgo.Obj

prob_matrix

a matrix or data.frame. Must be an expression matrix with features in rows and samples in columns

OS

a survival object (see Surv function from the survival package)

distancetype

a character that can be either 'pearson', 'uncentered', 'spearman' or 'euclidean'

Value

Returns a data.frame with 5 columns and a number of rows equals to the non-dominated solutions found by GalgoR. The first column has the name of the non-dominated solutions, the second the number of partitions found for each solution (k), the third, the number of genes, the fourth the mean silhouette coefficient of the solution and the last columns has the estimated C.Index for each one.

Examples

# load example dataset library(breastCancerTRANSBIG) data(transbig) Train <- transbig rm(transbig)
#> Warning: object 'transbig' not found
expression <- Biobase::exprs(Train) clinical <- Biobase::pData(Train) OS <- survival::Surv(time = clinical$t.rfs, event = clinical$e.rfs) # We will use a reduced dataset for the example expression <- expression[sample(1:nrow(expression), 100), ] # Now we scale the expression matrix expression <- t(scale(t(expression))) # Run galgo output <- GSgalgoR::galgo(generations = 5, population = 15, prob_matrix = expression, OS = OS)
#> Using CPU for computing pearson distance
#> Generation 1 Non-dominated solutions:
#> k rnkIndex CrowD #> result.3 10 0.007732375 300.22227 1 Inf #> result.6 2 0.079683053 114.82603 1 0.9345213 #> result.7 3 0.046522310 258.96886 1 0.9969431 #> result.8 2 0.054135993 139.64458 1 0.8164309 #> result.10 2 0.108544837 17.61128 1 Inf
#> Generation 2 Non-dominated solutions:
#> k rnkIndex CrowD #> result.3 10 0.007732375 300.22227 1 Inf #> result.10 2 0.108544837 17.61128 1 Inf #> result.7 3 0.046522310 258.96886 1 0.8936328 #> result.15 3 0.055867534 173.36262 1 0.8164309 #> result.6 2 0.079683053 114.82603 1 0.7214736 #> result.7 2 0.079895228 32.20750 1 0.6106585
#> Generation 3 Non-dominated solutions:
#> k rnkIndex CrowD #> result.10 2 0.10854484 17.61128 1 Inf #> 10 0.01096230 362.04141 1 Inf #> 9 0.01867938 262.60431 1 0.6172496 #> result.6 2 0.07968305 114.82603 1 0.6171755 #> 2 0.09044218 67.58557 1 0.5389540 #> 3 0.06219391 194.75203 1 0.5291710 #> result.7 3 0.04652231 258.96886 1 0.4483810 #> 4 0.05300474 215.75086 1 0.3246603
#> Generation 4 Non-dominated solutions:
#> k rnkIndex CrowD #> result.10 2 0.10854484 17.61128 1 Inf #> 10 0.01096230 362.04141 1 Inf #> result.6 2 0.07968305 114.82603 1 0.6023189 #> 9 0.01867938 262.60431 1 0.5961395 #> 2 0.09044218 67.58557 1 0.5223930 #> 3 0.06219391 194.75203 1 0.5143302 #> result.7 3 0.04652231 258.96886 1 0.4257805 #> 4 0.05300474 215.75086 1 0.3161506
#> Generation 5 Non-dominated solutions:
#> k rnkIndex CrowD #> result.10 2 0.10854484 17.61128 1 Inf #> 10 0.01096230 362.04141 1 Inf #> result.6 2 0.07968305 114.82603 1 0.6472026 #> 2 0.09044218 67.58557 1 0.5663781 #> 3 0.06219391 194.75203 1 0.5556213 #> result.7 3 0.04652231 258.96886 1 0.4741542 #> 9 0.01861714 288.55789 1 0.3644509 #> 9 0.01867938 262.60431 1 0.3608129 #> 4 0.05300474 215.75086 1 0.3406886
non_dominated_summary( output = output, OS = OS, prob_matrix = expression, distancetype = "pearson" )
#> Using CPU for computing pearson distance
#> solution k ngenes mean.Silhouette C.Index #> 1 Solutions.1 2 31 0.112025114443578 0.507455621301775 #> 2 Solutions.2 10 97 0.0364310198749159 0.569546351084813 #> 3 Solutions.3 2 29 0.104834965896548 0.543431952662722 #> 4 Solutions.4 2 38 0.0915702920943417 0.546390532544379 #> 5 Solutions.5 3 31 0.0893140649529412 0.576489151873767 #> 6 Solutions.6 3 99 0.0554520484940408 0.517041420118343 #> 7 Solutions.7 9 78 0.0546146535826552 0.57491124260355 #> 8 Solutions.8 9 48 0.0693944471829513 0.563313609467456 #> 9 Solutions.9 4 60 0.0667301939419838 0.550611439842209