Determine whether two treatments in a network are connected by direct and/or indirect evidence, and generate a list of comparisons with both direct and indirect evidence (i.e. potential inconsistency) for node-splitting.
network: An nma_data object, as created by the functions set_*() or combine_network().
include_consistency: Logical, whether to include a row of NAs to indicate that a consistency model (i.e. a model with no node-splitting) should also be fitted by the nma() function. Default is FALSE when calling get_nodesplits() by hand, and nma() sets this to TRUE by default.
trt1, trt2: Treatments, each as a single integer, string, or factor
Returns
For has_direct() and has_indirect(), a single logical value. For get_nodesplits(), a data frame with two columns giving the comparisons for node-splitting.
Details
The list of comparisons for node-splitting is generated following the algorithm of \insertCite Valkenhoef2016;textualmultinma. A comparison between two treatments has the potential for inconsistency, and is thus considered for node-splitting, if the comparison has both direct evidence and independent indirect evidence.
The notion of independent indirect evidence is necessary when multi-arm trials are present, since by design these trials are internally consistent. A comparison between two treatments has independent indirect evidence if, after removing all studies comparing the two treatments from the network, the two treatments are still connected by a path of evidence. This is the criterion considered by the has_indirect() function.
Examples
# Parkinsons examplepark_net <- set_agd_arm(parkinsons, study = studyn, trt = trtn, y = y, se = se, trt_ref =1)# View the network plotplot(park_net)# The 4 vs. 5 comparison is a spur on the networkhas_direct(park_net,4,5)has_indirect(park_net,4,5)# 1 and 5 are not directly connectedhas_direct(park_net,1,5)has_indirect(park_net,1,5)# The 1 vs. 2 comparison does not have independent indirect evidence, since# the 1-2-4 loop is a multi-arm studyhas_indirect(park_net,1,2)# Get a list of comparisons with potential inconsistency for node-splittingget_nodesplits(park_net)# See van Valkenhoef (2016) for a discussion of this example