GraphDiffusion {SANTA} | R Documentation

## Compute diffusion kernel-based distance matrix

### Description

Using a diffusion kernel-based algorithm, compute the distance between vertex pairs in an undirected network, with or without edge weights. This algorithm provides an alternative to the `shortest.paths` and `mfpt` measures of vertex pair distance.

### Usage

    GraphDiffusion(g, v=V(g), edge.attr.weight=NULL, beta=1, correct.neg=TRUE)

### Arguments

`g` | `igraph` object, the network to work on.
`v` | `igraph` object or numeric vector, the vertices from which each distance is calculated.
`edge.attr.weight` | String, the name of the edge attribute to be used as weights along the edges. Greater weights indicate a stronger interaction between the two genes (this is the opposite to edge distances, where smaller distances indicate stronger interactions). If `NULL`, then each edge is assumed to have a weight of `1`.
`beta` | Numeric value, the probability that the diffusion process will take an edge emanating from a vertex.
`correct.neg` | Logical, if `TRUE` then negative edge distances are set to `0`.

### Details

Diffusion across a network follows a process similar to a random walk. This provides a method of measuring the distance between vertex pairs that does not simply take into account a single path (like the `shortest.paths` algorithm) but instead incorporates multiple paths. This function uses a diffusion kernel-based approach to compute distances. The algorithm implemented is detailed in the referenced paper.

The distance from vertex A to vertex A is always `0`.

### Value

Numeric matrix, containing the diffusion kernel-based vertex pair distances between each vertex in `v` and every vertex in `g`.

### Author(s)

Alex J. Cornish a.cornish12@imperial.ac.uk

### References

Kondor, R.I. and Lafferty, J. (2002). Diffusion Kernels on Graph and Other Discrete Structures. Proc. Intl. Conf. Machine Learning.

### See Also

`GraphMFPT`, `shortest.paths`

### Examples

    # create a network and computes the diffusion kernel-derived vertex pair distance matrix
    g <- barabasi.game(6, directed=FALSE)
    GraphDiffusion(g)
    plot(g, layout=layout.fruchterman.reingold)

[Package SANTA version 2.22.0 Index]