netposet  R Documentation 
Partial order of treatments in network metaanalysis. The set of treatments in a network is called a partially ordered set (in short, a poset), if different outcomes provide different treatment ranking lists.
netposet( ..., outcomes, treatments, small.values, common, random, fixed, comb.fixed, comb.random ) ## S3 method for class 'netposet' print(x, pooled = ifelse(x$random, "random", "common"), ...)
... 
See details. 
outcomes 
A character vector with outcome names. 
treatments 
A character vector with treatment names. 
small.values 
See details. 
common 
A logical indicating whether to show results for the common effects model. 
random 
A logical indicating whether to show results for the random effects model. 
fixed 
Ignored deprecated argument (replaced by

comb.fixed 
Ignored deprecated argument (replaced by

comb.random 
Ignored deprecated argument (replaced by

x 
An object of class 
pooled 
A character string indicating whether Hasse diagram
should be drawn for common ( 
In network metaanalysis, frequently different outcomes are considered which may each provide a different ordering of treatments. The concept of a partially ordered set (in short, a poset, Carlsen & Bruggemann, 2014) of treatments can be used to gain further insights in situations with apparently conflicting orderings. This implementation for rankings in network metaanalyis is described in Rücker & Schwarzer (2017).
In function netposet
, argument ...{}
can be any of the
following:
arbitrary number of netrank
objects providing
Pscores;
arbitrary number of netmeta
objects;
single ranking matrix with each column providing Pscores (Rücker & Schwarzer 2015) or SUCRA values (Salanti et al. 2011) for an outcome and rows corresponding to treatments.
Note, albeit in general a ranking matrix is not constrained to have
values between 0 and 1, netposet
stops with an error in this
case as this function expects a matrix with Pscores or SUCRA
values.
Argument outcomes
can be used to label outcomes. If argument
outcomes
is missing,
column names of the ranking matrix are used as outcome labels (if first argument is a ranking matrix and column names are available);
capital letters 'A', 'B', ... are used as outcome labels and a corresponding warning is printed.
Argument treatments
can be used to provide treatment labels
if the first argument is a ranking matrix. If argument
treatment
is missing,
row names of the ranking matrix are used as treatment labels (if available);
letters 'a', 'b', ... are used as treatment labels and a corresponding warning is printed.
If argument ...{}
consists of netmeta
objects,
netrank
is called internally to calculate Pscores. In this
case, argument small.values
can be used to specify for each
outcome whether small values are good or bad; see
netrank
. This argument is ignored for a ranking
matrix and netrank
objects.
Arguments common
and random
can be used to define
whether results should be printed and plotted for common and random
effects model. If netmeta and netrank objects are provided in
argument ...{}
, values for common
and random
within these objects are considered; if these values are not
unique, argument common
or random
are set to
TRUE
.
In function print.netposet
, argument ...{}
is
passed on to the printing function.
An object of class netposet
with corresponding print
,
plot
, and hasse
functions. The object is a list
containing the following components:
P.common 
Ranking matrix with rows corresponding to treatments and columns corresponding to outcomes (common effects model). 
M0.common 
Hasse matrix skipping unnecessary paths (common effects model). 
M.common 
"Full" Hasse matrix (common effects model). 
O.common 
Matrix with information about partial ordering (common effects model). 
P.random 
Ranking matrix with rows corresponding to treatments and columns corresponding to outcomes (random effects model). 
M0.random 
Hasse matrix skipping unnecessary paths (random effects model). 
M.random 
"Full" Hasse matrix (random effects model). 
O.random 
Matrix with information about partial ordering (random effects model). 
small.values, common, random 
As.defined above. 
call 
Function call. 
version 
Version of R package netmeta used to create object. 
Gerta Rücker ruecker@imbi.unifreiburg.de, Guido Schwarzer sc@imbi.unifreiburg.de
Carlsen L, Bruggemann R (2014): Partial order methodology: a valuable tool in chemometrics. Journal of Chemometrics, 28, 226–34
Rücker G, Schwarzer G (2015): Ranking treatments in frequentist network metaanalysis works without resampling methods. BMC Medical Research Methodology, 15, 58
Rücker G, Schwarzer G (2017): Resolve conflicting rankings of outcomes in network metaanalysis: Partial ordering of treatments. Research Synthesis Methods, 8, 526–36
Salanti G, Ades AE, Ioannidis JP (2011): Graphical methods and numerical summaries for presenting results from multipletreatment metaanalysis: an overview and tutorial. Journal of Clinical Epidemiology, 64, 163–71
netmeta
, netrank
,
plot.netrank
, hasse
,
plot.netposet
## Not run: # Use depression dataset # data(Linde2015) # Define order of treatments # trts < c("TCA", "SSRI", "SNRI", "NRI", "Lowdose SARI", "NaSSa", "rMAOA", "Hypericum", "Placebo") # Outcome labels # outcomes < c("Early response", "Early remission") # (1) Early response # p1 < pairwise(treat = list(treatment1, treatment2, treatment3), event = list(resp1, resp2, resp3), n = list(n1, n2, n3), studlab = id, data = Linde2015, sm = "OR") # net1 < netmeta(p1, common = FALSE, seq = trts, ref = "Placebo", small.values = "bad") # (2) Early remission # p2 < pairwise(treat = list(treatment1, treatment2, treatment3), event = list(remi1, remi2, remi3), n = list(n1, n2, n3), studlab = id, data = Linde2015, sm = "OR") # net2 < netmeta(p2, common = FALSE, seq = trts, ref = "Placebo", small.values = "bad") # Partial order of treatment rankings (two outcomes) # po < netposet(netrank(net1), netrank(net2), outcomes = outcomes) # Hasse diagram # hasse(po) # # Outcome labels # outcomes < c("Early response", "Early remission", "Lost to followup", "Lost to followup due to AEs", "Adverse events (AEs)") # (3) Loss to followup # p3 < pairwise(treat = list(treatment1, treatment2, treatment3), event = list(loss1, loss2, loss3), n = list(n1, n2, n3), studlab = id, data = Linde2015, sm = "OR") # net3 < netmeta(p3, common = FALSE, seq = trts, ref = "Placebo", small.values = "good") # (4) Loss to followup due to adverse events # p4 < pairwise(treat = list(treatment1, treatment2, treatment3), event = list(loss.ae1, loss.ae2, loss.ae3), n = list(n1, n2, n3), studlab = id, data = subset(Linde2015, id != 55), sm = "OR") # net4 < netmeta(p4, common = FALSE, seq = trts, ref = "Placebo", small.values = "good") # (5) Adverse events # p5 < pairwise(treat = list(treatment1, treatment2, treatment3), event = list(ae1, ae2, ae3), n = list(n1, n2, n3), studlab = id, data = Linde2015, sm = "OR") # net5 < netmeta(p5, common = FALSE, seq = trts, ref = "Placebo", small.values = "good") # Partial order of treatment rankings (all five outcomes) # po.ranks < netposet(netrank(net1), netrank(net2), netrank(net3), netrank(net4), netrank(net5), outcomes = outcomes) # Same result # po.nets < netposet(net1, net2, net3, net4, net5, outcomes = outcomes) # all.equal(po.ranks, po.nets) # Print matrix with Pscores (random effects model) # po.nets$P.random # Hasse diagram for all outcomes (random effects model) # hasse(po.ranks) # Hasse diagram for outcomes early response and early remission # po12 < netposet(netrank(net1), netrank(net2), outcomes = outcomes[1:2]) hasse(po12) # Scatter plot # oldpar < par(pty = "s") plot(po12) par(oldpar) ## End(Not run) # Example using ranking matrix with Pscores # # RibassinMajed L, Marguet S, Lee A.W., et al. (2017): # What is the best treatment of locally advanced nasopharyngeal # carcinoma? An individual patient data network metaanalysis. # Journal of Clinical Oncology, 35, 498505 # outcomes < c("OS", "PFS", "LC", "DC") treatments < c("RT", "ICRT", "ICCRT", "CRT", "CRTAC", "RTAC", "ICRTAC") # # Pscores (from Table 1) # pscore.os < c(15, 33, 63, 70, 96, 28, 45) / 100 pscore.pfs < c( 4, 46, 79, 52, 94, 36, 39) / 100 pscore.lc < c( 9, 27, 47, 37, 82, 58, 90) / 100 pscore.dc < c(16, 76, 95, 48, 72, 32, 10) / 100 # pscore.matrix < data.frame(pscore.os, pscore.pfs, pscore.lc, pscore.dc) rownames(pscore.matrix) < treatments colnames(pscore.matrix) < outcomes pscore.matrix # po < netposet(pscore.matrix) po12 < netposet(pscore.matrix[, 1:2]) po po12 # hasse(po) hasse(po12) # oldpar < par(pty = "s") plot(po12) par(oldpar)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.