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: 0.863, 87.4% better
#> Target: 0.983, 13.9% better
#> Target: 0.985, 0.2% better
#> Target: 1.106, 12.3% better
#> Target: 1.177, 6.4% better
#> Target: 1.331, 13.1% better
#> Target: 1.424, 7.0% better
#> Target: 1.483, 4.1% better
#> Target: 1.622, 9.4% better
#> Target: 1.642, 1.2% better
#> Target: 1.651, 0.5% better
#> Target: 1.653, 0.1% better
#> No better bases found after 2 tries. Giving up.
#> Final projection:
#> -0.467
#> 0.274
#> 0.262
#> 0.561
#> -0.333
#> 0.462
#> Converting input data to the required matrix format.
#> Target: 1.075, 180.6% better
#> Target: 1.279, 18.9% better
#> Target: 1.323, 3.5% better
#> Target: 1.431, 8.1% better
#> Target: 1.488, 4.0% better
#> Target: 1.553, 4.4% better
#> Target: 1.595, 2.7% better
#> Target: 1.615, 1.3% better
#> Target: 1.646, 1.9% better
#> Target: 1.651, 0.3% better
#> Target: 1.655, 0.3% better
#> No better bases found after 2 tries. Giving up.
#> Final projection:
#> 0.454
#> -0.287
#> -0.226
#> -0.552
#> 0.320
#> -0.503
#> Converting input data to the required matrix format.
#> Target: 1.473, 10.1% better
#> Target: 1.601, 8.7% better
#> Target: 1.622, 1.3% better
#> Target: 1.640, 1.1% better
#> Target: 1.646, 0.3% better
#> Target: 1.651, 0.3% better
#> Target: 1.654, 0.2% better
#> No better bases found after 2 tries. Giving up.
#> Final projection:
#> -0.462
#> 0.233
#> 0.269
#> 0.546
#> -0.328
#> 0.504
#> Converting input data to the required matrix format.
#> Target: 1.304, 88.4% better
#> Target: 1.390, 6.6% better
#> Target: 1.577, 13.4% better
#> Target: 1.604, 1.8% better
#> Target: 1.642, 2.4% better
#> Target: 1.646, 0.2% better
#> Target: 1.651, 0.3% better
#> Target: 1.654, 0.2% better
#> No better bases found after 2 tries. Giving up.
#> Final projection:
#> -0.427
#> 0.295
#> 0.238
#> 0.550
#> -0.365
#> 0.488
#> Converting input data to the required matrix format.
#> Target: 0.915, 63.8% better
#> Target: 1.267, 38.5% better
#> Target: 1.505, 18.8% better
#> Target: 1.543, 2.5% better
#> Target: 1.565, 1.4% better
#> Target: 1.573, 0.5% better
#> Target: 1.605, 2.0% better
#> Target: 1.625, 1.3% better
#> Target: 1.628, 0.2% better
#> Target: 1.651, 1.4% better
#> Target: 1.652, 0.1% better
#> Target: 1.655, 0.2% better
#> No better bases found after 2 tries. Giving up.
#> Final projection:
#> 0.441
#> -0.262
#> -0.268
#> -0.521
#> 0.331
#> -0.532
# Interpolate between target bases
itries <- lapply(tries, interpolate)
paths <- paths_index(itries, holes())
head(paths)
#> try step value improvement
#> 1 1 1 0.4605012 0.00000000
#> 2 1 2 0.4840090 0.02350788
#> 3 1 3 0.5078730 0.02386395
#> 4 1 4 0.5319267 0.02405372
#> 5 1 5 0.5560185 0.02409183
#> 6 1 6 0.5800099 0.02399140
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()
}