This is a convenience method that returns a data frame summarising the index values for multiple tour paths.
paths_index(bases_list, index_f)
list of histories produced by save_history
index function to apply to each projection
# The max.tries is low for satisfying CRAN checks
# Increase it for using in practice
holes1d <- guided_tour(holes(), 1, max.tries=2)
# Perform guided tour 5 times, saving results
tries <- replicate(5, save_history(flea[, 1:6], holes1d), simplify = FALSE)
#> Converting input data to the required matrix format.
#> Target: 1.078, 117.2% better
#> Target: 1.317, 22.2% better
#> Target: 1.548, 17.6% better
#> Target: 1.623, 4.8% better
#> Target: 1.639, 1.0% better
#> Target: 1.648, 0.5% better
#> Target: 1.653, 0.3% better
#> Target: 1.655, 0.1% better
#> No better bases found after 2 tries. Giving up.
#> Final projection:
#> 0.431
#> -0.294
#> -0.253
#> -0.560
#> 0.334
#> -0.488
#> Converting input data to the required matrix format.
#> Target: 1.509, 13.0% better
#> Target: 1.569, 4.0% better
#> Target: 1.632, 4.0% better
#> Target: 1.641, 0.6% better
#> No better bases found after 2 tries. Giving up.
#> Final projection:
#> 0.395
#> -0.365
#> -0.220
#> -0.507
#> 0.415
#> -0.483
#> Converting input data to the required matrix format.
#> Target: 1.141, 77.9% better
#> Target: 1.244, 9.1% better
#> Target: 1.443, 16.0% better
#> Target: 1.603, 11.1% better
#> Target: 1.632, 1.8% better
#> Target: 1.641, 0.6% better
#> Target: 1.643, 0.1% better
#> Target: 1.649, 0.3% better
#> No better bases found after 2 tries. Giving up.
#> Final projection:
#> 0.485
#> -0.243
#> -0.300
#> -0.485
#> 0.328
#> -0.523
#> Converting input data to the required matrix format.
#> Target: 1.118, 85.5% better
#> Target: 1.453, 30.0% better
#> Target: 1.559, 7.3% better
#> Target: 1.627, 4.4% better
#> Target: 1.646, 1.2% better
#> Target: 1.650, 0.2% better
#> Target: 1.653, 0.2% better
#> No better bases found after 2 tries. Giving up.
#> Final projection:
#> -0.394
#> 0.288
#> 0.275
#> 0.557
#> -0.366
#> 0.491
#> Converting input data to the required matrix format.
#> Target: 0.846, 19.6% better
#> Target: 0.944, 11.5% better
#> Target: 1.025, 8.6% better
#> Target: 1.185, 15.7% better
#> Target: 1.353, 14.2% better
#> Target: 1.460, 7.9% better
#> Target: 1.531, 4.8% better
#> Target: 1.569, 2.5% better
#> Target: 1.594, 1.6% better
#> Target: 1.627, 2.1% better
#> Target: 1.655, 1.8% better
#> No better bases found after 2 tries. Giving up.
#> Final projection:
#> -0.434
#> 0.273
#> 0.248
#> 0.550
#> -0.309
#> 0.527
# Interpolate between target bases
itries <- lapply(tries, interpolate)
paths <- paths_index(itries, holes())
head(paths)
#> try step value improvement
#> 1 1 1 0.4961013 0.00000000
#> 2 1 2 0.5159370 0.01983574
#> 3 1 3 0.5384736 0.02253660
#> 4 1 4 0.5634563 0.02498265
#> 5 1 5 0.5906014 0.02714506
#> 6 1 6 0.6196027 0.02900138
if (require(ggplot2)) {
ggplot(data = paths, aes(x=step, y=value, group = try)) + geom_line()
## ggplot(data = paths, aes(x=step, y=improvement, group = try)) + geom_line()
}