match_two_sig_sets: Find an optimal matching between two sets of signatures...

Description Usage Arguments Details Examples

View source: R/match_two_sig_sets.R

Description

Find an optimal matching between two sets of signatures subject to a maximum distance

Usage

1
2
3
4
5
6
7
match_two_sig_sets(
  x1,
  x2,
  method = "cosine",
  convert.sim.to.dist = function(x) {     return(1 - x) },
  cutoff = 0.9
)

Arguments

x1

A numerical-matrix-like object with columns as signatures.

x2

A numerical-matrix-like object with columns as signatures. Needs to have the same number of rows as x1.

method

A character string that specifies a method for distance.

convert.sim.to.dist

If method specifies a similarity rather than a distance, use this function to convert the similarity to a distance.

cutoff

A maximum distance or minimum similarity over which to pair signatures between x1 and x2.

Details

Match signatures between x1 and x2 using the function solve_LSAP, which uses the "Hungarian" (a.k.a "Kuhn–Munkres") algorithm https://en.wikipedia.org/wiki/Hungarian_algorithm, which optimizes the total cost associated with the links between nodes. The functions converts similarities to distances, and generates a distance matrix between the two sets of signatures. It sets distances > cutoff to very large values. It then applies solve_LSAP to the resulting matrix to compute a matching between x1 and x2 that minimizes the sum of the distances.

Examples

1
2
3
4
5
ex.sigs <- matrix(c(0.2, 0.8, 0.3, 0.7, 0.6, 0.4), nrow = 2)
colnames(ex.sigs) <- c("ex1", "ex2", "ex3")
gt.sigs <- matrix(c(0.21, 0.79, 0.19, 0.81), nrow = 2)
colnames(gt.sigs) <- c("gt1", "gt2")
match_two_sig_sets(ex.sigs, gt.sigs, cutoff = .9)

steverozen/ICAMSxtra documentation built on Feb. 9, 2022, 7:01 a.m.