Learn R Programming

spinebil

Studying Projection Pursuit INdex functions through Exploration Based on Interpolated tour paths and Line graphs. spinebil provides functionalities to evaluate the performance of projection pursuit index functions using tour methods as presented in this paper.

Installation

You can install the released version of spinebil from CRAN with:

install.packages("spinebil")

You can install the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("uschiLaa/spinebil")

Example

To evaluate the index behaviour on a known input distribution we can trace its value when interpolating a tour path, for example moving from nuisance and structured projection.

library(spinebil)
## sample from the spiral distribution
d <- spiral_data(100, 4)
## the first two parameters are noise
## parameters 3 and 4 contain a spiral
## we write a list with the nuisance and structured plane
m <- list(basis_matrix(1,2,4), basis_matrix(3,4,4))
## the index functions to be evaluated should also be passed in a list
index_list <- list(tourr::holes(), tourr::cmass())
index_labels <- c("holes", "cmass")
## we can now compute the index traces and plot them
trace <- get_trace(d, m, index_list, index_labels)
#> Converting input data to the required matrix format.
plot_trace(trace)

Copy Link

Version

Install

install.packages('spinebil')

Monthly Downloads

166

Version

1.0.5

License

GPL-3

Maintainer

Tina Rashid Jafari

Last Published

October 17th, 2025

Functions in spinebil (1.0.5)

basis_nearby

Generate nearby bases, e.g. for simulated annealing.
data_gen

Generate Synthetic Data with Various Structures
ppi_scale

Simulate and Compare Index Scale on Structured vs Noisy Data
profile_rotation

Test rotation invariance of index functions for selected 2-d data set.
ppi_samplesize_effect

Simulate Effect of Sample Size on Projection Pursuit Index Under Gaussian Noise
distance_dist

Collecting all pairwise distances between input planes.
noise_gen

Generate Synthetic Noise
time_sequence

Time each index evaluation for projections in the tour path.
pipe_data

Generating a sample of points on a pipe
squint_angle_estimate

Estimating squint angle of 2-d structure in high-d dataset under selected index.
jitter_points

Re-evaluate index after jittering all points by an amount alpha.
step_fraction

Step along an interpolated path by fraction of path length.
jitter_angle

Re-evaluate index after jittering the projection by an angle alpha.
plot_smoothing_comparison

Plot the comparison of smoothing methods.
plot_rotation

Plot rotation traces of indexes obtained with profileRotation.
spiral_data

Generating spiral sample
ppi_mean

Simulate and Summarize Projection Pursuit Index (PPI) Values
spinebil-package

spinebil
plot_trace

Plot traces of indexes obtained with get_trace.
sin_data

Generating sine wave sample
scag_index

Matching index functions to the required format.
distance_to_sp

Collecting distances between input planes and input special plane.
compare_smoothing

Compare traces with different smoothing options.
get_index_mean

Evaluate mean index value over n jittered views.
basis_matrix

Generate 2-d basis in directions i, j in n dimensions (i,j <= n)
basis_vector

Generate basis vector in direction i in n dimensions (i <= n)
get_trace

Tracing the index over an interpolated planned tour path.
geodesic_info

Calculate information required to interpolate along a geodesic path between two frames.
ppi_noise_threshold

Estimate the 95th Percentile of a Projection Pursuit Index Under Noise