compmus_long_distance: Pairwise distances in long format

View source: R/norms.R

compmus_long_distanceR Documentation

Pairwise distances in long format

Description

We use a number of distance measures in Computational Musicology. compmus_long_distance brings them together into one place, along with common alternative names. In order to support plotting, the distances are returned in long format rather than matrix format. It is designed for convenience, not speed.

Usage

compmus_long_distance(xdat, ydat, feature, method = "euclidean")

compmus_self_similarity(dat, feature, method = "euclidean")

Arguments

xdat, ydat, dat

Data frames with start and duration columns.

feature

An (unquoted) column name over which to compute distances.

method

A character string indicating which distance metric to use (see Details). Default is Euclidean distance.

Details

The following methods are supported.

manhattan,citybolock,taxicab,L1,totvar

Manhattan distance.

euclidean,L2

Euclidean distance.

chebyshev,maximum

Chebyshev distance.

pearson,correlation

Pearson's pseudo-distance.

cosine

Cosine pseudo-distance.

angular

Angular distance.

aitchison

Aitchison distance.

Value

A tibble with columns xstart, xduration, ystart, yduration, and d.

Functions

  • compmus_self_similarity: Self-similarity matrices in long format

Examples

library(tidyverse)
tallis <-
  get_tidy_audio_analysis("2J3Mmybwue0jyQ0UVMYurH") %>%
  select(segments) %>%
  unnest(segments) %>%
  mutate(pitches = map(pitches, compmus_normalise, "manhattan"))
chapelle <-
  get_tidy_audio_analysis("4ccw2IcnFt1Jv9LqQCOYDi") %>%
  select(segments) %>%
  unnest(segments) %>%
  mutate(pitches = map(pitches, compmus_normalise, "manhattan"))

compmus_long_distance(tallis, chapelle, pitches, method = "euclidean")

compmus_self_similarity(tallis, pitches, method = "aitchison")

jaburgoyne/compmus documentation built on Feb. 26, 2023, 3:44 a.m.