another L1 solution based on R package cccp implemented (argument 'method = "cccp"')
netgraph.netmeta(), netgraph.netimpact():
wider lines if argument 'thickness = "equal"'
netconnection.pairwise():
argument 'subset' can be used with a pairwise() object
pairwise():
can be used if only study labels and intervention names are provided (and optionally sample sizes)
nettable():
new argument 'legend' to suppress the printout of the legend describing treatment abbreviations
print.nettable():
new argument 'legend' to suppress printing of legend with abbreviated treatment names
print.netsplit(), forest.netsplit():
the command 'netconnection(treat1, treat2, studlab, data = pw1)' resulted in an obscure error if argument 'data' was a data set created with pairwise()
netgraph.netmeta():
error if argument 'thickness' was a matrix and argument 'lwd.max' was missing
print.netcomplex():
Vignette with publication on netmeta in Journal of Statistical Software added (command: vignette("netmeta"))
R package R.rsp added to suggested packages
R functions funnel(), metabias(), radial(), trimfill(), metainf(), metacum(), baujat() and metareg() can be applied to netpairwise objects created with argument 'separate = TRUE', i.e., separate meta-analysis for all pairwise comparisons in a network
Heat plot implemented showing network estimates with confidence intervals
calculate correct number of studies per treatment for multi-arm studies (list element 'n.trts')
netcontrib():
new argument 'k.min' to specify minimal number of studies in pairwise comparison to show funnel plot, radial plot or conduct test for funnel plot asymmetry
print.decomp.design():
by default, results are sorted by p-values (argument 'sort')
print.netmeta():
only print prediction intervals with common effects network meta-analysis if not printed with random effects results
netmeta(), netposet(), netrank(), forest.netmeta():
possible values "desirable" and "undesirable" instead of "good" and "bad" for argument 'small.values'
funnel.netmeta():
value for argument 'order' can be extracted from network meta-analysis object
New functions funnel.netpairwise(), metabias.netpairwise(), radial.netpairwise(), trimfill.netpairwise(), metainf.netpairwise() and metacum.netpairwise()
New generic function heatplot() to generate heat plot
New generic function netconnection() to check connectivity
New functions netconnection.pairwise() and netconnection.default()
netgraph.netmeta():
new row names for invisibly returned data sets with information on nodes and edges
netmetabin():
additional checks and assignments if first argument is a data set
New internal function setsv() to set value for argument 'small.value'
new argument 'na.unident' to specify whether missing values should be returned for unidentifiable components and comparisons instead of calculated values
print.netcomb():
do not show results for inactive component
netcomb(), netcomparison(), netcomplex(), summary.netcomb(), summary.netmeta():
new argument 'backtransf' indicating whether estimates should be back-transformed in printouts and plots
summary.netmeta():
new argument 'nchar.trts' to print abbreviated treatment names
summary.netcomb():
new argument 'nchar.comps' to print abbreviated component names
Help page for netgraph.netmeta():
New internal function armlab() to generate labels for combinations and components in component network meta-analysis
netcomb():
new argument 'points.min' to define minimal point size
netgraph.netimpact():
print black lines if 'plastic = FALSE' (previous default: slateblue lines)
netgraph.netconnection():
argument 'iterate' can be used (was hard-coded as FALSE)
netgraph.discomb(), netgraph.netimpact():
new argument 'plastic'
plot.rankogram():
Use term 'common effects model' instead of 'fixed effects model' in the documentation and argument 'common' instead of 'fixed' to (not) show results for common effects model
New function nettable() to create tables with network, direct and indirect estimates from one or more network meta-analyses
Excel file with league tables can be created directly with netleague()
Nodes in circular network graphs can be rotated
R package writexl added to suggested packages
report correct number of pairwise comparisons in case of not uniquely identifiable components
netmeta():
New function subset.pairwise() to select subset of a pairwise object
netsplit():
new arguments 'writexl', 'path' and 'overwrite' to save Excel files
netgraph():
new argument 'rotate' to rotate nodes in circular network graphs
netgraph.netconnection():
new argument 'reference.group' to determine coloring of subnetwork containing the reference group
print.netconnection():
show number of pairwise comparisons and interventions for subnetworks
netconnection(), print.netconnection():
new argument 'details.disconnected'
hatmatrix():
new arguments 'nchar.trts' and 'nchar.studlab'
print.netimpact():
Use DerSimonian-Laird estimator of between-study variance to calculate 'tau2.direct' and 'tau.direct' in netmetabin() as REML method did not converge in some network meta-analyses
New internal function legendabbr() to print legend with abbreviated and full treatment labels
New internal function catch() to catch value for an argument
New internal functions comptrts(), direct.indirect(), mat2dat.split(), mat2dat.table(), nettable_internal(), sidde() and sortprop() for netsplit() and nettable()
New argument 'equal.length' in setseq()
By default, reference group is defined by first treatment in network meta-analysis providing treatment estimate(s) and standard error(s)
Function to calculate pseudoinverse of Laplacian matrix (Rücker, 2012) can be specified
Function invmat() to calculate pseudoinverse made directly accessible (was an internal function)
Only comparisons with a single or multiple treatment(s) can be shown in a 'comparison-adjusted' funnel plot
Comparators in 'comparison-adjusted' funnel plot can be lumped
R package tictoc added to suggested packages
use of REML or ML estimator for between-study variance resulted in an error in networks with at least one multi-arm study
netmeta(), pairwise():
first treatment with outcome data is used as reference group if not specified by the user (to prevent an error if all studies using first treatment do not provide outcome data)
rankogram():
use correct variances in resampling of treatment rankings
plot.netrank():
function ggplot2::xlab() instead of netmeta::xlab() must be used to create image plot
print.netcomplex():
new argument 'func.inverse' to specify function to calculate pseudoinverse
funnel.netmeta():
new argument 'text.comparator' to mark comparators
netcontrib(), netsplit():
new logical argument 'verbose' to control printing of information on estimation progress
print.netconnection():
print number of studies in subnetworks
Data set Linde2016:
Internal function contribution.matrix() returns a list instead of a single matrix with contributions
New internal function ranksampling() to conduct the resampling of treatment rankings
sorting by direct evidence proportion possible (argument 'sortvar')
print.netmeta(), print.netcomb():
Behaviour of print and print.summary functions switched (to be in line with other print and print.summary functions in R)
Annabel Davies annabel.davies@manchester.ac.uk is a new co-author of R package netmeta
Random walk algorithm implemented to estimate network contributions (Davies et al., 2021)
Calculation of standardised mean differences and corresponding standard errors in pairwise() is based on Crippa & Orsini (2016), equations (4) and (5), providing consistent treatment estimates and standard errors for multi-arm studies
By default, reference group is defined by first treatment in network meta-analysis
Renamed arguments:
'level.ma' (instead of 'level.comb')
New R function hatmatrix() to derive hat matrices
New R function netpairwise() to conduct pairwise meta-analyses for comparisons with direct evidence
New R function netcomplex() to calculate effect of arbitrary complex interventions in component network meta-analysis
New R function netcomparison() to calculate comparison effects of two arbitrary complex interventions in component network meta-analysis
I2 from pairwise comparisons shown in forest plot with direct evidence
In component network meta-analysis, individual component names instead of full treatment names can be abbreviated for complex interventions with more than one component
Do not stop calculations if standard errors of multi-arm studies are inconsistent (instead only check for positive variance estimates of single treatment arms)
Generic functions are not exported
fix error in calculation of between-study variance using REML or ML method
forest.netbind(), forest.netcomb(), forest.netmeta(), forest.netsplit():
do not print empty row above descriptions if arguments 'label.left' or 'label.right' is used
netcomb(), discomb():
value provided for argument 'inactive' must be a single treatment component not a combination of treatment components (check was missing)
funnel.netmeta():
New functions hatmatrix() and print.hatmatrix() to derive hat matrices
New functions netpairwise(), forest.netpairwise(), print.netpairwise(), summary.netpairwise() and print.summary.netpairwise() to conduct pairwise meta-analyses for all comparisons with direct evidence
netcontrib():
argument 'nchar.trts' from netmeta object considered in printouts
decomp.design(), print.decomp.design() print.netsplit(), rankogram(), print.rankogram(), plot.rankogram():
new argument 'nchar.trts' to print abbreviated treatment names
rankogram():
new argument 'trts' to specify subset of treatments
plot.rankogram():
new argument 'cumulative.rankprob' to show cumulative ranking probabilities
print.rankogram():
new argument 'cumulative.rankprob' to show cumulative ranking probabilites
netrank():
new list elements 'fixed' and 'random'
netsplit():
new argument 'order' to specify order in comparisons; see help page of funnel.netmeta()
forest.netsplit():
print I2 from pairwise comparisons if argument direct = TRUE
forest.netsplit(), print.netsplit():
new argument 'sortvar' to sort comparisons
pairwise():
keep all variables from original dataset if variable is missing for one group but not the other (so far, only the first variable was kept)
netcomb():
new argument 'nchar.comps' to abbreviate component names
discomb(), print.netcomb(), print.summary.netcomb():
new argument 'nchar.comps' replaces argument 'nchar.trts'
New auxiliary function comps() to create unique comparison labels with abbreviated treatment names
new list elements 'Q.direct', 'tau2.direct', 'tau.direct' and 'I2.direct' with information on the between-study heterogeneity of direct comparisons
netcomb(), discomb():
new list elements 'L.matrix.fixed', 'Lplus.matrix.fixed', 'H.matrix.fixed', 'L.matrix.random', 'Lplus.matrix.random' and 'H.matrix.random'
compsplit():
remove leading and trailing blanks
setref():
argument 'reference.group' can be a vector instead of a single value
nma.additive():
new list elements 'L.matrix', 'Lplus.matrix' and 'H.matrix'
New internal function hatmatrix.aggr() to calculate the aggregated hat matrix
Internal function contribution.matrix() moved to contribution.matrix.tpapak()
New internal functions contribution.matrix.davies()
New internal function compos() to abbreviate component names
New internal function createC.full() to create full C matrix for all k-fold combinations of n components
New internal function charfac()
New wrapper function contribution.matrix()
New argument 'aggr' in createB() to calculate aggregated B matrix
Theodoros Papakonstantinou dev@tpapak.com is a new co-author of R package netmeta
Rankograms added
Surface under the cumulative ranking (SUCRA) can be calculated using resampling methods
Method by Papakonstantinou et al. (2018) to estimate the contribution of studies to network meta-analysis implemented
New functions rankogram(), print.rankogram() and plot.rankogram() for rankograms
New functions netcontrib() and print.netcontrib() to calculate network contributions
netrank():
can be used with an R object created with rankogram()
forest.netmeta():
new argument 'nsim' to specify number of simulations for SUCRAs
netgraph.netmeta():
by default, use inverse standard error of random effects estimates for argument 'thickness' if random effects network meta-analysis was conducted
netsplit(), forest.netsplit():
new option "reference.only" for argument 'show'
discomb(), netcomb():
Restricted maximum likelihood and maximum likelihood estimator for between-study heterogeneity implemented by calling rma.mv() from R package metafor internally
R function pairwise() can be used to generate reduced data set with basic comparisons Rücker & Schwarzer (2014)
R function discomb() can be used with an R object created with pairwise()
use of ginv() instead of solve() to calculate pseudo inverse of Laplace matrix resulted in wrong results for some extreme network structures (bug was introduced in netmeta, version 1.3-0)
netgraph.netmeta():
do not calculate leverages for multi-arm studies
netconnection():
first argument can be of class 'pairwise'
pairwise():
first argument can be of class 'pairwise'
netgraph.netconnection():
print subnetworks in different colors
forest.netmeta():
new argument 'equal.size' to determine whether square size should be equal or proportional to precision of estimates
forest.netbind(), forest.netsplit():
new default for argument 'equal.size', i.e., square sizes are equal
forest.netbind():
new argument 'subset.treatments' to select treatments shown in forest plot
netmeasures():
return direct evidence proportion for single design with two treatments
netheat():
New internal function invmat() to calculate inverse of matrix
New internal function calcV() to calculate variance-covariance matrix used as input to rma.mv()
nma.ruecker(), multiarm():
use solve() instead of ginv() to calculate inverse of matrix L
netmeta():
new list element 'comparisons' with information on direct comparisons
netconnection():
new list elements 'comparisons' and 'subnet.comparisons' with information on direct comparisons
netimpact():
consider values for arguments 'tol.multiarm' and 'tol.multiarm.se' from network meta-analysis object
nma.krahn():
Treatment labels can be rotated in network graphs
Additional checks whether net heat plot is feasible
Calculate direct evidence proportion and indirect treatment estimates for network meta-analyses created with netmetabin()
Network graph for objects created with netconnection(), netcomb() or discomb()
In summaries, print z- and p-values for network estimates if a reference group is defined
not overall heterogeneity / inconsistency statistic calculated for Mantel-Haenszel method, but, the overall inconsistency statistic (treatment effects are aggregated within designs)
decomp.design(), netheat():
do not conduct decomposition of designs for objects created with netmetabin(); reported decomposition and net heat plot referred to reanalysis using netmeta()
netmeasures():
works for network meta-analyses created with netmetabin(); reported results referred to reanalysis using netmeta()
netsplit():
output states "test of heterogeneity" for a single design and "test of inconsistency" for Mantel-Haenszel method
netrank():
can be used with network meta-analysis object created with netcomb()
netmeta():
new argument 'small.values' passed on to netrank(), forest.netmeta() and netposet()
netgraph.netmeta():
new argument 'srt.labels' to rotate treatment labels
plot.netrank():
get rid of warnings 'Undefined global functions or variables'
netbind():
argument '...' can be a single list of network meta-analysis objects
print.netmeta():
print z- and p-values for tests of overall effect against a reference group (argument 'reference.group')
print.netconnection():
by default, do not print the distance matrix
netsplit():
Rename list elements starting with 'zval.' to 'statistic.'
netcomb():
export covariance matrices 'Cov.fixed' and 'Cov.random'
netmeta(), netcomb():
export study design for each pairwise comparison (list element 'design')
discomb():
export study designs (list element 'design'), list of designs ('design') and number of designs ('d')
Argument 'single' renamed to 'length' in calls of chkchar(), chkcolor(), chklevel() and chknumeric()
New internal function is.zero() to determine whether a small number is essentially zero (i.e., whether abs(x) < 10 .Machine$double.eps*)
New internal function updateversion() to update older netmeta objects
New internal function designs() to determine study designs
New internal function netheat-internal() with auxiliary functions for netheat()
nma.ruecker(), nma.additive():
Function netimpact() can be used with network meta-analysis objects created with netmetabin()
No warning is printed that treatments within comparisons have been re-sorted in increasing order (which has been rather a note than a warning)
bug fix for studies with 0 events and 0 participants
discomb():
return standard errors of individual studies in correct order (list element 'seTE')
netbind():
function can be used with network meta-analysis objects created with netmetabin()
as.data.frame.netmeta():
correct printout if number of studies is equal to the number of treatments to the power of 2
summary.netmeta() exported
check whether all studies provide missing estimates and standard errors (and stop execution with an informative error message)
netmeta(), netcomb(), discomb():
export the design matrix (new list element 'X.matrix')
discomb():
export the number of subnetworks
forest.netsplit():
print an informative warning (instead of an obscure error message) if no comparison in the network provides the requested combination of direct and indirect evidence
Use Markdown for NEWS
In multi-arm studies, negative weights (resulting from slightly inconsistent standard errors) contributing less than 0.1% to the weight of a study are set to 0
Separate consistency tolerances can be specified for treatment estimates and standard errors (which are consistent by design in multi-arm studies, however, can be inconsistent due to rounding of treatment estimates and standard errors)
New default for consistency tolerance: 0.001 instead of 0.0005
Print tau in addition to tau2 in outputs
Print confidence interval for I2 in outputs
new argument 'tol.multiarm.se' to check standard errors in multi-arm studies
netmetabin():
new argument 'tol.multiarm.se' to check standard errors in multi-arm studies
print.summary.netmeta(), print.summary.netcomb():
new arguments 'text.tau2', 'text.tau', and 'text.I2' to change text printed to identify respective heterogeneity measure
Revision of help page examples to reduce runtime below 5 seconds (CRAN requirement)
negative weights contributing less than 0.1% to the weight of a study are set to 0
chkmultiarm():
new argument 'tol.multiarm.se' to check standard errors
nma.ruecker(), nma.additive():
New functions netimpact(), netgraph.netimpact(), print.netimpact() to measure the impact of individual studies to network estimates
New function plot.netrank() to produce image plot of P-scores
Equivalence limits can be added to forest plots
Use roxygen2 for development of R package netmeta
calculate the correct number of patients and events for each treatment arm in networks with multi-arm studies
netmetabin():
calculate the correct number of patients and events for each treatment arm in networks with multi-arm studies
netgraph():
comparisons defined by argument 'highlight' are marked in the network graph if argument 'labels' is used
pairwise():
netgraph() is a generic function and original function netgraph() renamed to netgraph.netmeta()
netgraph.netmeta():
print highlighted comparisons in the background of the graph
forest.netmeta():
more liberal cutpoint to set negative variances to zero
chkmultiarm():
more liberal check for negative variances
new auxiliary internal functions for forest plots
Orestis Efthimiou oremiou@gmail.com is a new co-author of R package netmeta
New function netmetabin() for network meta-analysis of binary data using the Mantel-Haenszel method or the non-central hypergeometric distribution
New function funnel.netmeta() for 'comparison-adjusted' funnel plots
New function forest.netcomb() for forest plots of additive network meta-analysis
New functions netbind(), forest.netbind(), and print.netbind() to combine network meta-analysis objects and to generate a forest plot with results of several network meta-analyses
Separate Indirect from Direct Design Evidence (SIDDE) method implemented in netsplit()
All network comparisons can be included in a forest plot
Circular network graphs with minimal number of crossings available
Default setting for levels of confidence intervals can be specified using R function settings.meta(); the default is still 0.95, i.e., 95% confidence intervals are computed
New datasets: Gurusamy2011 and Dong2013
only print information on studies with missing treatment effect or standard error if argument 'warn' is TRUE
pairwise():
by default, do not print warnings if comparisons will not be included in network meta-analysis
netsplit():
new argument 'method' to choose approach to split direct and indirect evidence
forest.netmeta():
(invisibly) returns a data frame with information used to produce the forest plot
forest.netsplit() and print.netsplit():
argument 'showall' replaced with 'show' (see help pages)
forest.netsplit():
forest plot with layout 'subgroups by comparisons': omit treatment estimates in rows with prediction intervals if network estimates are also shown
netcomb() and discomb():
argument 'seq.components' replaced with 'seq.comps'
discomb():
arguments 'reference.group' and 'baseline.reference'
netposet():
do not reorder a treatment comparison if reference treatment (argument 'reference.group') is part of a combined treatment, e.g., for reference.group = "A" and treatment comparison "A + B" vs "C", the comparison will not be reordered as "C" vs "A + B"
forest.netsplit():
show correct prediction intervals
netgraph():
arguments 'iterate' and 'allfigures' ignored if argument 'seq' is equal to "optimal"
netsplit():
keep original order of studies in list element 'data'
netcomb() and discomb():
similar list elements as for R objects created with netmeta(); especially matrices with all network estimates added to output, see, for example, new list elements 'TE.fixed' and 'TE.random'
Internal function nma.additive():
calculate matrices with all network estimates
netleague() is a generic function
Help pages:
number of events and number of observations can be provided (and are considered from R objects created with pairwise() function)
Function pairwise():
all variables from the original dataset are kept in the output dataset
League tables
report pairwise comparisons of the treatment in the row versus the treatment in the column in the lower triangle and column versus row in the upper triangle (common presentation for network meta-analyses)
Network graphs are much more flexible, e.g., color of lines / edges can be specified for each direct pairwise comparison
New function discomb() for disconnected networks sharing at least one common treatment component to apply the additive network model for combinations of treatments
Treatment separator (argument 'sep.trts') can be special character from regular expressions
Between-study variance tau-squared is reported as NA instead of 0 in networks without heterogeneity / inconsistency
new list element 'data' to keep dataset used to conduct network meta-analysis (if argument 'keepdata' is TRUE)
netgraph():
(invisibly) returns a list with information on nodes and edges (position, color, etc.) used to produce the network graph
pairwise():
all variables from the original dataset are kept in the output dataset
print.netmeta():
print uniquely abbreviated treatment names
netconnection() and print.netconnection():
new argument 'sep.trts' to print abbreviated treatment names
netleague():
new argument 'direct' to print direct treatment estimates (if argument 'y' is not missing)
print.netsplit():
new argument 'legend' to suppress printing of the legend
print.summary.netcomb():
new arguments 'digits.tau2' and 'digits.I2'
New auxiliary function netmatrix() to create a matrix with additional information for pairwise comparisons (e.g., risk of bias assessment)
list elements 'P.fixed' and 'P.random' contained wrong values for network meta-analyses with a single design which resulted in an error using forest.netmeta()
netcomb():
can be used with single pairwise comparison
print.summary.netcomb():
new internal functions compmatch() and compsplit() for argument 'sep.trts' taking special character from regular expression into account, e.g., sep.trts = "."
new internal functions bySummary() which is used in netmeta(), netmatrix(), and pairwise()
createC() can be used with netconnection() objects (for disconnected networks)
netcomb.netmeta() has been renamed to netcomb()
netmeta():
new list element 'trts' (character vector with treatment names)
Internal function nma.ruecker():
use internal function isquared() from package meta to calculate I2
Internal function nma.additive():
calcuate between-study variance tau2 and heterogeneity statistic I2
Internal function prcombs():
Version of R package meta must be larger or equal 4.9-0
New function to produce forest plots with network, direct, and indirect evidence
New function to estimate additive network meta-analysis for combinations of treatments
New default in function netsplit(): treatment comparisons are selected from upper treatment estimates matrix, i.e., comparisons are "A vs B", "A vs C", and "B vs C" for treatments "A", "B", and "C" instead of "B vs A", etc.
Zero treatment arm variance in multi-arm studies results in a warning instead of an error message
League tables can be exported as CSV or Excel file
New argument 'backtransf' indicating whether estimates should be back-transformed in printouts and plots, e.g., to show results as odds ratios instead of log odds ratios
P-values can be printed in scientific notation
P-values equal to 0 are actually printed as "0" instead of "< 0.0001"
Thousands separator can be used in printouts and forest plots for large numbers
summary.netcomb(), print.netcomb(), and print.summary.netcomb() to print (summaries of) netcomb objects
print.decomp.design(), print.netmeta(), print.netsplit(), and print.summary.netmeta():
new argument 'scientific.pval' to print p-values in scientific notation, e.g., 1.2345e-01 instead of 0.12345
netmeta():
new argument 'nchar.trts' to abbreviate treatment names in printouts
netleague():
new arguments 'bracket' and 'separator' to define layout of confidence intervals (see R function cilayout() from R package meta)
netsplit():
additional new arguments (see help file): 'reference.group', 'baseline.reference', 'sep.trts', 'quote'
netmeasures():
do not round results to four digits
print.netmeta(), print.summary.netmeta():
argument 'logscale' removed (replaced by argument 'backtransf')
Dataset Senn2013:
new columns 'treat1.long' and 'treat2.long' with full treatment names added
Help pages:
order of treatments in printouts corresponds to treatment comparison, e.g., "A:B" means that treatment "A" was compared with treatment "B" (and not the other way around). Side note, not sure whether this is a bug or a feature as "A:B" noted the design "comparison A and B" so far.
netposet():
function works with a ranking matrix that contains missing elements, i.e., rankings that do not include all treatments
netgraph():
warning for zero treatment arm variance instead of an error
new internal function uppertri() to extract elements from the upper triangle of a matrix
new internal function treats() to abbreviate treatment names
new internal function nma.additive() for estimation of additive network meta-analysis models
new internal function createC() to create C matrix used as input to nma.additive()
new internal functions prcombs() and prcomps() for printing of netcomb objects
Internal function p.ci() replaced with formatCI() from R package meta
Internal function format.TE() replaced with formatN() from R package meta
Prediction intervals can be calculated for treatment estimates from a network meta-analysis
In netmeta(), Q statistics for heterogeneity and design inconsistency are calculated according to Krahn et al. (2013); see help page of decomp.design()
In printouts and forest plots, the reference treatment can be considered as treatment of interest or comparator (default), i.e., either comparisons of reference vs other treatments or other treatments vs reference are reported
Tests for heterogeneity and design inconsistency are shown in printouts
A biplot can be generated to show partial ordering of treatment rankings for more than two outcomes
Additional checks implemented for multi-arm studies:
argument 'details.tol.multiarm' renamed to 'details.chkmultiarm'
netmeta(), forest.netmeta(), print.netmeta(), print.summary.netmeta(), and summary.netmeta():
new argument 'baseline.reference' to print results for comparisons between reference and other treatments, or vice versa
print.netmeta(), print.summary.netmeta(), and summary.netmeta():
new argument 'prediction' to print prediction intervals
print.summary.netmeta():
print information on tests for overall heterogeneity and inconsistency
summary.netmeta():
arguments 'level' and 'level.comb' removed from R function (i.e., one has to re-run the netmeta() command for confidence intervals with other coverage levels)
plot.netposet():
new arguments to modify layout ('cex.text', 'col.text', pch, cex.points, col.points)
decomp.design() and netmeasures():
New internal function upgradenetmeta() to add missing list elements to older netmeta objects
R function ci() from R package meta added to NAMESPACE
chkmultiarm():
New function netleague() to print league table with network meta-analysis results
pairwise():
print warning and information on treatment comparisons with missing treatment estimate or standard error
forest.netmeta():
treatments can be sorted by treatment estimate (TE), standard error (seTE), number of studies in direct comparison (k), and proportion of direct information (prop.direct)
netmeta():
separator used in comparison names to concatenate treatment labels can be specified by user (default: ":")
In decomp.design(), by default, only print designs contributing to design-specific decomposition of within-designs Q statistic
Input to netdistance() can be either a netmeta object or a matrix
argument 'sortvar' can be used in the following ways: sortvar = TE, sortvar = -TE, sortvar = seTE, sortvar = -seTE, sortvar = k, sortvar = -k, sortvar = prop.direct, sortvar = -prop.direct
print.decomp.design() and netheat():
new argument 'showall' which defaults to FALSE
print.summary.netmeta():
print preset between-study variance and corresponding information if argument 'tau.preset' is not NULL in netmeta()
pairwise():
in multi-arm studies exclude comparisons with missing sample size or standard error from calculation of pooled variance for standardized mean difference (sm = "SMD")
plot.netposet():
new default for argument 'arrows', i.e., by default, do not show arrows in scatter plot
print.netsplit():
number of studies providing direct evidence printed
netdistance():
argument name changed from 'A' to 'x' in order to reflect that input of R function can be either a netmeta object or an adjacency matrix
Help pages:
new list element 'B.matrix' with the edge-vertex incidence matrix
summary.netmeta():
new list element 'tau.preset'
netsplit():
new list element 'k' with number of studies providing direct evidence
netconnection():
better code documentation
Internal function decomp.tau():
detach all designs (including protuding edges)
New internal function createB() to calculate edge-vertex incidence matrix
netmeta(), netconnection(), multiarm(), and chkmultiarm():
use internal function createB() instead of dedicated R code
print.summary.netmeta(), nma.ruecker(), and decomp.tau():
netsplit() used wrong comparison labels if argument 'reference.group' was used in netmeta()
netmeasures() ignores value of argument 'reference.group' in netmeta object
Calculate indirect treatment estimates based on direct evidence proportion
Ranking of treatments based on fixed effect model added to netrank()
New function netsplit() to split direct and indirect evidence
New functions netposet(), print.netposet(), and plot.netposet() to calculate, print and plot partial ordering of rankings
New function hasse() to draw Hasse diagram of partially ordered treatment rankings
netmeta():
checks for consistency of treatment effects and variances in multi-arm studies
Import ginv() from R package MASS (for consistency checks)
Suggested packages added (for Hasse diagram): hasseDiagram and grid
Bug fixes:
New arguments random and tau.preset in netmeasures()
New functions netsplit() and print.netsplit()
Consider ordering of treatments in netrank() which is defined by argument seq in netmeta()
For multi-arm studoes, calculate pooled standard deviation in pairwise() if means and standard deviations are provided and summary measure is equal to "SMD"
new list element 'k.direct' with number of studies in meta-analyses with direct evidence
nma.ruecker():
bug fix such that estimates from random effects model are used for direct treatment estimates if argument 'tau.direct' is larger than zero
nma.krahn():
bug fix such that use of function does not result in an error if either no or only one study with two treatments is available
pairwise():
data.frame commands use argument stringsAsFactors = FALSE
chkmultiarm(): new internal function to check consistency of treatment effects and variances in multi-arm studies; calls ginv() from MASS library
new internal function lowertri() to extract elements from the lower triangle of a matrix
Number of studies can be added to network graph
Distance matrix can be provided directly to generate network graph
shadowtext() from TeachingDemos package by Greg Snow added to netmeta package
P-scores can be printed in forest plot
help page with brief overview of netmeta package added
netgraph():
new argument D.matrix to provide treatment distances directly
netmeta():
function can be used with a single pairwise comparison without resulting in an error
forest.netmeta():
new arguments small.values and digits.Pscore for P-Scores
print.netmeta():
use correct layout for network meta-analysis with a single pairwise comparison
decomp.design(), netheat(), netmeasures():
print a warning and return NULL for network meta-analysis with a single design
netconnection():
print sensible error message if argument treat2 is missing or of different length than argument treat 1
netdistance():
print sensible error message if argument A is not a matrix
Help pages updated: decomp.design(), print.decomp.design(), netgraph(), netheat(), netmeasures()
shadowtext() to print number of studies
nma.ruecker():
keep dimension of matrices W and B.matrix for network meta-analysis with a single pairwise comparison
nma.krahn():
print a warning and return NULL for network meta-analysis with a single design
decomp.tau(), tau.within():
print.netconnection (corresponding print function)
Internal function nodedist removed (replaced by netdistance function)
Import functions from R package rgl (for 3-D plots)
New dataset Woods2010 (use long format in pairwise function)
Function netmeta:
new list components: 'Cov.fixed' (variance-covariance matrix for fixed effect model) 'Cov.random' (variance-covariance matrix for random effects model)
Function pairwise:
extension to long data format (see example on help page)
Function netmeta:
new arguments 'dim', 'eig3', and 'zpos' to generate 3-D network plots
Function stress (used internally):
use netdistance function instead of nodedist
Function nma.ruecker (used internally):
calculate variance-covariance matrix
Function print.netrank:
print title of meta-analysis (if available)
Function print.summary.netmeta:
print 'p-value' instead of 'p.value'
Function print.decomp.design:
print 'p-value' instead of 'p.value'
Help page of netmeta function:
change error in description of adjustment in random effects model
Help page of netgraph function:
example for 3-D network plot added
Help page of netrank function:
reference to Rücker & Schwarzer (2015) updated
Help page of pairwise function:
more information on additional arguments for meta-analysis functions
New help pages:
frequentist method to rank treatments in network
Function netmeta:
print less irritating warning if treatment comparisons are resorted (as this is more a note than a warning)
Function print.netmeta:
minor change in printout (old: "Data utilised in network meta-analysis ..."; new: "Results ...")
Help pages:
Version of R package meta must be larger or equal 4.0-0
Title of R package changed
New function pairwise:
transforms data that are given in an arm-based format (e.g. input for WinBUGS is of this format) to contrast-based format that can be read by function netmeta
New datasets:
smokingcessation (binary outcomes)
Function netmeta:
function can be used for a pairwise meta-analysis (bug fix in nma.ruecker function used internally)
Function netgraph:
stop with an error message if argument 'seq' or 'labels' is NULL
Function netheat:
unintentional warnings omitted
Function forest.netmeta:
use setref function to check and set value of argument 'reference.group'
Function print.summary.netmeta:
use is.relative.effect function from R package meta to check if a relative effect measure is used (argument 'sm')
Function print.netmeta:
use is.relative.effect function from R package meta to check if a relative effect measure is used (argument 'sm')
Function summary.netmeta:
use setref function to check and set value of argument 'reference.group'
Function decomp.tau and tau.within (used internally):
bug fix such that no error is produced in decomp.design and netheat function for networks without heterogeneity and inconsistency
Function print.decomp.design:
use format.tau function from R package meta to print "0" instead of "< 0.0001" if tau-squared is zero
New functions (used internally):
chklist - check for a list
New help pages for function pairwise and datasets dietaryfat, parkinson, and smokingcessation.
possibility to provide x- and y-coordinates for network plot (arguments 'xpos' and 'ypos')
Function netmeta:
new list components: 'tau.preset', 'TE.direct.fixed', 'seTE.direct.fixed', 'lower.direct.fixed', 'upper.direct.fixed', 'zval.direct.fixed', 'pval.direct.fixed', 'TE.direct.random', 'seTE.direct.random', 'lower.direct.random', 'upper.direct.random', 'zval.direct.random', 'pval.direct.random'
Function nma.ruecker (used internally)
changed accordingly to reflect changes in netmeta function
Function forest.netmeta:
new argument sortvar (default: sort treatment effect estimates according to list component 'seq' of netmeta object)
New functions stress and nodedist (used internally)
auxiliary functions for netgraph function
Help pages updated accordingly
random effects network meta-analysis added
Function netheat:
new argument 'random'
Functions nma.krahn, decomp.design, and netheat:
new argument 'tau.preset'
Function decomp.design:
new list components: 'Q.inc.random', 'Q.inc.random.preset', 'Q.inc.design.random.preset', 'residuals.inc.detach.random.preset', 'tau.preset'
New functions tau.within and decomp.tau (used internally)
Help pages updated accordingly
modified such that the estimated tau-squared in random effects model considers multi-arm studies
Function print.netmeta:
information on percentage weight not printed as interpretation is difficult
Dataset Senn2013:
check whether treatments are different (arguments 'treat1' and 'treat2')
Function print.summary.netmeta:
print random effects estimates according to argument 'seq'
Function forest.netmeta:
sort treatment effect estimates according to argument 'seq'
Function nma.ruecker (used internally):
argument 'seq' added (see also R function netgraph)
Function netgraph:
new default for argument 'seq'
Help pages updated accordingly
Some internal code cleaning to improve readability of R functions
p.ci, format.TE, nma.krahn, nma.ruecker (used internally)
Function netmeta:
Check added whether all pairwise comparisons are provided for multi-arm studies
Help pages added for new functions
Help page of function netmeta updated
new list component 'n' (number of treatments)
Function print.summary.netmeta:
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.