| Title: | Complex Hierarchy Questions in Network Meta-Analysis |
| Version: | 0.3-0 |
| Date: | 2023-02-23 |
| Depends: | R (≥ 4.0.0), meta, netmeta (≥ 2.7-0) |
| Imports: | dplyr, tibble, rlang, MASS, data.tree, mvtnorm, tidyr |
| Suggests: | testthat |
| Author: | Adriani Nikolakopoulou
|
| Maintainer: | Theodoros Papakonstantinou <dev@tpapak.com> |
| URL: | https://github.com/tpapak/nmarank |
| Description: | Derives the most frequent hierarchies along with their probability of occurrence. One can also define complex hierarchy criteria and calculate their probability. Methodology based on Papakonstantinou et al. (2021) <doi:10.21203/rs.3.rs-858140/v1>. |
| License: | GPL-3 |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.2.3 |
| NeedsCompilation: | no |
| Packaged: | 2023-02-24 14:27:09 UTC; tosku |
| Repository: | CRAN |
| Date/Publication: | 2023-02-24 14:50:02 UTC |
Combine selections with AND
Description
Combine selections with AND
Usage
cond1 %AND% cond2
Arguments
cond1 |
First |
cond2 |
Second |
Value
Object of class 'data.tree'.
See Also
Examples
data("Woods2010", package = "netmeta")
p1 <- pairwise(treatment, event = r, n = N, studlab = author,
data = Woods2010, sm = "OR")
net1 <- netmeta(p1, small.values = "good")
A <- condition("retainOrder", c("Placebo", "Salmeterol", "SFC"))
B <- condition("betterEqual", "Fluticasone", 2)
nmarank(net1, A %AND% B, nsim = 500)
Combine selections with OR
Description
Combine selections with OR
Usage
cond1 %OR% cond2
Arguments
cond1 |
First |
cond2 |
Second |
Value
Object of class 'data.tree'.
See Also
Examples
data("Woods2010", package = "netmeta")
p1 <- pairwise(treatment, event = r, n = N, studlab = author,
data = Woods2010, sm = "OR")
net1 <- netmeta(p1, small.values = "good")
A <- condition("retainOrder", c("Placebo", "Salmeterol", "SFC"))
B <- condition("betterEqual", "Fluticasone", 2)
nmarank(net1, A %OR% B, nsim = 500)
Combine selections with XOR
Description
Combine selections with XOR
Usage
cond1 %XOR% cond2
Arguments
cond1 |
First |
cond2 |
Second |
Value
Object of class 'data.tree'.
See Also
Examples
data("Woods2010", package = "netmeta")
p1 <- pairwise(treatment, event = r, n = N, studlab = author,
data = Woods2010, sm = "OR")
net1 <- netmeta(p1, small.values = "good")
A <- condition("retainOrder", c("Placebo", "Salmeterol", "SFC"))
B <- condition("betterEqual", "Fluticasone", 2)
nmarank(net1, A %XOR% B, nsim = 3000)
Define which hierarchies to select
Description
Defines a condition that is of interest to be satisfied involving a set of treatments in the network.
Usage
condition(fn, ...)
Arguments
fn |
Character string specifiying type of condition. |
... |
Function arguments. |
Details
The following types of conditions are available.
The condition fn = "sameHierarchy" checks whether a specific
hierarchy occurs. One additional unnamed argument has to be
provided in '...': a vector with a permutation of all treatment
names in the network.
The condition fn = "specificPosition" checks whether a
treatment ranks in a specific position. Two additional unnamed
arguments have to be provided in '...': (1) name of the treatment
of interest and (2) a single numeric specifying the rank position.
The condition fn = "betterEqual" checks whether a treatment
has a position better or equal to a specific rank. Two additional
unnamed arguments have to be provided in '...': (1) name of the
treatment of interest and (2) a single numeric specifying the rank
position.
The condition fn = "retainOrder" checks whether a specific
order of two or more treatments is retained anywhere in the
hierarchy. One additional unnamed argument has to be provided in
'...': a vector with two or more treatment names providing the
order of treatments.
The condition fn = "biggerCIV" checks whether the effect of
a treatment is bigger than that of a second treatment by more than
a given clinically important value (CIV) on an additive scale
(e.g. log odds ratio, log risk ratio, mean difference). Three
additional unnamed arguments have to be provided in '...': (1)
name of the first treatment, (2) name of the second treatment and
(3) a numerical value for the CIV. Note that the actual value of
the relative effect is considered independently of whether
small.values is "desirable" or "undesirable".
Composition of conditions for more complex queries:
Conditions can be combined to express more complex decision
trees. This can be done by using the special operators %AND%,
%OR%, %XOR% and the opposite function. The combination
should be defined as a binary tree with the use of parentheses. If
A, B, C and D are conditions, we can for example combine them into
a complex condition E:
E = A %AND% (B %OR% (opposite(C) %XOR% D))
Value
A list with the defined function and its arguments.
See Also
Examples
data("Woods2010", package = "netmeta")
p1 <- pairwise(treatment, event = r, n = N, studlab = author,
data = Woods2010, sm = "OR")
net1 <- netmeta(p1, small.values = "good")
# criterionA if all treatments are in the exact defined order
criterionA <-
condition("sameHierarchy",
c("SFC", "Salmeterol", "Fluticasone", "Placebo"))
# criterionB respects the relative order of two or more treatments
criterionB <-
condition("retainOrder",
c("SFC", "Fluticasone", "Placebo"))
# Below we define the condition that SFC and Salmeterol are in the
# first two positions.
# We first define conditions that each one of them is in position 1
# or 2
criterionC1 <- condition("betterEqual", "SFC", 2)
criterionC2 <- condition("betterEqual", "Salmeterol", 2)
# We then combine them with operator %AND%
criterionC <- criterionC1 %AND% criterionC2
# Next we can feed the condition into nmarank to get the
# probability of the selection
nmarank(net1, criterionC,
text.condition =
"SFC and Salmeterol are the two best options", nsim = 100)
# We can further combine criteria
criterionD <- criterionA %AND% (criterionB %OR% opposite(criterionC))
Probabilities of treatment hierarchies
Description
Specifies the frequencies of hierarchies along with their estimated probabilities and the probability that a specified criterion holds.
Usage
nmarank(
TE.nma,
condition = NULL,
text.condition = "",
VCOV.nma = NULL,
pooled,
nsim = 10000,
small.values
)
## S3 method for class 'nmarank'
print(
x,
text.condition = x$text.condition,
nrows = 10,
digits = gs("digits.prop"),
...
)
Arguments
TE.nma |
Either a |
condition |
Defines the conditions that should be satisfied by
the treatments in the network. Multiple conditions can be
combined with special operators into any decision tree. See
|
text.condition |
Optional descriptive text for the condition. |
VCOV.nma |
Variance-covariance matrix for network estimates
(only considered if argument |
pooled |
A character string indicating whether the hierarchy
is calculated for the common effects ( |
nsim |
Number of simulations. |
small.values |
A character string specifying whether small treatment effects indicate a "desirable" or "undesirable" effect. |
x |
A |
nrows |
Number of hierarchies to print. |
digits |
Minimal number of significant digits for proportions,
see |
... |
Additional arguments. |
Details
A simulation method is used to derive the relative frequency of all possible hierarchies in a network of interventions. Users can also define the set of all possible hierarchies that satisfy a specified criterion, for example that a specific order among treatments is retained in the network and/or a treatment is in a specific position, and the sum of their frequencies constitute the certainty around the criterion.
Value
An object of class "nmarank" with corresponding print
function. The object is a list containing the following components:
hierarchies |
A list of the most frequent hierarchies along with their estimated probability of occurrence. |
probabilityOfSelection |
Combined probability of all hierarchies that satisfy the defined condition. |
TE.nma, condition, VCOV.nma |
As defined above. |
pooled, nsim, small.values |
As defined above. |
See Also
Examples
data("Woods2010", package = "netmeta")
p1 <- pairwise(treatment, event = r, n = N, studlab = author,
data = Woods2010, sm = "OR")
net1 <- netmeta(p1, small.values = "good")
nmarank(net1, nsim = 100)
criterionA <-
condition("sameHierarchy",
c("SFC", "Salmeterol", "Fluticasone", "Placebo"))
nmarank(net1, criterionA, nsim = 100)
The NOT function for a selection statement It simply reverses condition
Description
The NOT function for a selection statement It simply reverses condition
Usage
opposite(cond)
Arguments
cond |
Value
Object of class 'data.tree'.
See Also
Examples
data("Woods2010", package = "netmeta")
p1 <- pairwise(treatment, event = r, n = N, studlab = author,
data = Woods2010, sm = "OR")
net1 <- netmeta(p1, small.values = "good")
A = condition("retainOrder", c("Placebo", "Salmeterol", "SFC"))
nmarank(net1, opposite(A), text.condition = "NOT order P-S-S", nsim = 5000)