File Exchange

image thumbnail

Network Meta-Analysis

version (18.4 KB) by Jan Motl
Performs a network meta-analysis


Updated 24 Apr 2016

View License

Algorithm properties:
1) graphRank permits missing values.
2) graphRank permits multiple, possibly non-agreeing, responses per
block and treatment.
3) graphRank permits existence of cycles between the treatments (see
algorithm description for details).
4) graphRank does NOT produce p-values. It just ranks the treatments.
5) In the case of balanced data, graphRank produces results equivalent
to count of wins.
Matlab BGL:

Algorithm description:
The algorithm counts pairwise wins of treatments over blocks.
The wins are then represented in a form of a directed graph.
If treatment1 wins over treatment2 more times than treatment2
wins over threatmen1, the victory is represented with a directed edge
from treatment2 to treatment1. If reverse is true, the edge goes
from treatment1 to treatment2. In absence of any comparison between
treatment1 and treatment2 or in the case of a tie, no edge is placed
between treatment1 and treatment2.

Once the data are in a form of a directed graph, the nodes are ordered
with a modified topological sort inspired by:
A Simple Algorithm for Automatic Layout of BPMN Processes
Just like the referenced topological algorithm, the implemented sort
returns a plausible order of nodes even in the presence of loops in the
graph. The only difference is that:
1) The returned order of nodes is between 0 and 1.
2) All unbeaten treatments are assigned value 1.
3) All winless treatments are assigned value 0.
4) Treatments that are both, unbeaten and winless, are assigned
value 0 (the assigned value is just a matter of definition).
5) The gaps between the nodes on a path from a winless treatment to an
unbeaten treatment are set to be of equal distance. For example in:


the node C gets assigned a value of 0.5, because value of 0.5 is
exactly in the middle between 0 (a value of node A) and 1 (a value of
node B).

Cite As

Jan Motl (2020). Network Meta-Analysis (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (4)

guo guo

Hi Michal Kvasnicka, do you have try the examples in this toolbox? The 'reatable.m' is ok, but it can not work well. There are also some functions, such as 'each.m','component.m' and so on, which are not undefined in this toolbox.

guo guo

Thanks @Michal Kvasnicka

Michal Kvasnicka

@guo guo: readtable is standard matlab function from R2013b

guo guo

Hi Jan Motl, the function 'readtable.m' has not been included, would you kindly add it in the toolbox please? Thanks.


Considers all plausible orderings of the treatments, not just the pessimistic/optimistic orderings.

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux