Function that performs a random Walk with restart (RWR) on a given graph
1 
W 
a numeric matrix representing the adjacency matrix of the graph 
ind.positives 
indices of the "core" positive examples of the graph. They represent the indices of W corresponding to the positive examples 
gamma 
restart parameter (def: 0.6) 
tmax 
maximum number of iterations (steps) (def: 1000) 
eps 
maximum allowed difference between the computed probabilities at the steady state (def. 1e10) 
norm 
if TRUE (def) the adjacency matrix W of the graph is normalized to M = D^{1} * W, otherwise it is assumed that the matrix W is just normalized 
RWR performs a random Walk with restart on a given graph by performing 1 or more steps on the graph, depending on the value of the tmax parameter. The restart parameter expresses the probability of "restarting" from a "core" node at each step of the random walk algorithm. It stops also if the difference of the norm of the probabilities between two consecutive steps is less than eps.
A list with three elements:
p 
numeric vector. Probability of each node at the steady state or after tmax iterations 
ind.positives 
indices of the "core" positive examples of the graph (it is equal to the same input parameter) 
n.iter 
number of performed steps/iterations 
L. Lovasz, Random Walks on Graphs: a Survey, Combinatorics, Paul Erdos is Eighty, vol. 2, pp. 146, 1993.
RW
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18  # Application of the random walk with restart to the prediction of the
# DrugBank category Penicillins
# using the Tanimoto chemical structure similarity network
# between 1253 DrugBank drugs
library(bionetdata);
data(DD.chem.data);
data(DrugBank.Cat);
labels < DrugBank.Cat[,"Penicillins"];
ind.pos < which(labels==1);
# 2step RWR
res < RWR(DD.chem.data, ind.pos, tmax = 2);
## Not run:
# till to convergence
res < RWR(DD.chem.data, ind.pos, tmax = 5000, eps=1e6);
# 5 steps and higher gamma
res < RWR(DD.chem.data, ind.pos, tmax = 5, gamma=0.8);
## End(Not run)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.