Parallel categories plot of selected configurations. Numerical parameters
are discretized to maximum n_bins
intervals. To visualize configurations
of other iterations these must be provided setting the argument iterations,
groups of configurations of different iterations are shown in different
colors. Specific configurations can be selected providing their ids in the
id_configurations
argument.
parallel_cat(
irace_results,
id_configurations = NULL,
param_names = NULL,
iterations = NULL,
by_n_param = NULL,
n_bins = 3,
filename = NULL
)
The data generated when loading the .Rdata
file created by irace
(or the filename of that file).
Configuration ids to be included in the
plot. Example: c(20,50,100,300,500,600,700)
(character()
) Parameters to be included in the plot. Example:
c("algorithm","alpha","rho","q0","rasrank")
.
Numeric vector, iterations from which configuration should be obtained (example: iterations = c(1,4,5))
Numeric (optional), maximum number of parameters to be displayed.
Numeric (default 3), number of intervals to generate for numerical parameters.
(character(1)
) File name to save the plot, for example "~/path/example/filename.png"
.
parallel categories plot
The parameters to be included in the plot can be selected with the param_names argument. Additionally, the maximum number of parameters to be displayed in one plot. A list of plots is returned by this function in several plots are required to display the selected data.
iraceResults <- read_logfile(system.file(package="irace", "exdata",
"irace-acotsp.Rdata", mustWork = TRUE))
parallel_cat(iraceResults)
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 5 named 'alpha'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 5 named 'alpha'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 6 named 'beta'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 6 named 'beta'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 7 named 'rho'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 7 named 'rho'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 8 named 'ants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 8 named 'ants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 9 named 'nnls'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 9 named 'nnls'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 10 named 'q0'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 10 named 'q0'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 12 named 'rasrank'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 12 named 'rasrank'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 13 named 'elitistants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 13 named 'elitistants'.
#> Warning: NAs introduced by coercion
#> Warning: Removed 600 rows containing non-finite outside the scale range
#> (`stat_parallel_sets()`).
#> Warning: Removed 600 rows containing non-finite outside the scale range
#> (`stat_parallel_sets_axes()`).
#> Warning: Removed 600 rows containing non-finite outside the scale range
#> (`stat_parallel_sets_axes()`).
# \donttest{
parallel_cat(iraceResults, by_n_param = 6)
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 5 named 'alpha'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 5 named 'alpha'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 6 named 'beta'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 6 named 'beta'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 7 named 'rho'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 7 named 'rho'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 8 named 'ants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 8 named 'ants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 9 named 'nnls'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 9 named 'nnls'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 10 named 'q0'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 10 named 'q0'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 12 named 'rasrank'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 12 named 'rasrank'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 13 named 'elitistants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 13 named 'elitistants'.
#> Warning: NAs introduced by coercion
#> [[1]]
#> Warning: Removed 228 rows containing non-finite outside the scale range
#> (`stat_parallel_sets()`).
#> Warning: Removed 228 rows containing non-finite outside the scale range
#> (`stat_parallel_sets_axes()`).
#> Warning: Removed 228 rows containing non-finite outside the scale range
#> (`stat_parallel_sets_axes()`).
#>
#> [[2]]
#> Warning: Removed 68 rows containing non-finite outside the scale range
#> (`stat_parallel_sets()`).
#> Warning: Computation failed in `stat_parallel_sets()`.
#> Caused by error in `sapply(diagonals, nrow) / 4`:
#> ! non-numeric argument to binary operator
#> Warning: Removed 68 rows containing non-finite outside the scale range
#> (`stat_parallel_sets_axes()`).
#> Warning: Removed 68 rows containing non-finite outside the scale range
#> (`stat_parallel_sets_axes()`).
#>
parallel_cat(iraceResults, id_configurations = c(20, 50, 100))
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 5 named 'alpha'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 5 named 'alpha'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 6 named 'beta'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 6 named 'beta'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 7 named 'rho'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 7 named 'rho'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 8 named 'ants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 8 named 'ants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 9 named 'nnls'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 9 named 'nnls'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 10 named 'q0'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 12 named 'rasrank'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 13 named 'elitistants'.
#> Warning: NAs introduced by coercion
#> Warning: Removed 22 rows containing non-finite outside the scale range
#> (`stat_parallel_sets()`).
#> Warning: Removed 22 rows containing non-finite outside the scale range
#> (`stat_parallel_sets_axes()`).
#> Warning: Computation failed in `stat_parallel_sets_axes()`.
#> Caused by error in `compute_panel()`:
#> ! Axis aesthetics must be constant in each split
#> Warning: Removed 22 rows containing non-finite outside the scale range
#> (`stat_parallel_sets_axes()`).
#> Warning: Computation failed in `stat_parallel_sets_axes()`.
#> Caused by error in `compute_panel()`:
#> ! Axis aesthetics must be constant in each split
parallel_cat(iraceResults, param_names = c("algorithm", "alpha", "rho", "q0", "rasrank"))
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 5 named 'alpha'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 5 named 'alpha'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 6 named 'beta'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 6 named 'beta'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 7 named 'rho'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 7 named 'rho'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 8 named 'ants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 8 named 'ants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 9 named 'nnls'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 9 named 'nnls'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 10 named 'q0'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 10 named 'q0'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 12 named 'rasrank'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 12 named 'rasrank'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 13 named 'elitistants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 13 named 'elitistants'.
#> Warning: NAs introduced by coercion
#> Warning: Removed 92 rows containing non-finite outside the scale range
#> (`stat_parallel_sets()`).
#> Warning: Computation failed in `stat_parallel_sets()`.
#> Caused by error in `sapply(diagonals, nrow) / 4`:
#> ! non-numeric argument to binary operator
#> Warning: Removed 92 rows containing non-finite outside the scale range
#> (`stat_parallel_sets_axes()`).
#> Warning: Removed 92 rows containing non-finite outside the scale range
#> (`stat_parallel_sets_axes()`).
parallel_cat(iraceResults, iterations = c(1, 4, 6), n_bins=4)
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 5 named 'alpha'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 5 named 'alpha'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 6 named 'beta'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 6 named 'beta'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 7 named 'rho'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 7 named 'rho'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 8 named 'ants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 8 named 'ants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 9 named 'nnls'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 9 named 'nnls'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 10 named 'q0'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 10 named 'q0'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 12 named 'rasrank'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 12 named 'rasrank'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 13 named 'elitistants'.
#> Warning: NAs introduced by coercion
#> Warning: Coercing 'character' RHS to 'double' to match the type of column 13 named 'elitistants'.
#> Warning: NAs introduced by coercion
#> Warning: Removed 280 rows containing non-finite outside the scale range
#> (`stat_parallel_sets()`).
#> Warning: Removed 280 rows containing non-finite outside the scale range
#> (`stat_parallel_sets_axes()`).
#> Warning: Removed 280 rows containing non-finite outside the scale range
#> (`stat_parallel_sets_axes()`).
# }