July 2025
Fix a small issue in multi.ce. The CRAN version has
removed the use of BCEA:::compute_p_best_interv, which
computes the probability that each intervention is the most
cost-effective, for each value of the willingness to pay. The output of
that call must be passed as input to
BCEA:::ceac_plot_XXXX.pairwise in order for
ceac.plot to produce the individual probability of
cost-effectiveness
Fix the function summary.pairwise to comply with the
changes in multi.ce
June 2025
In bcea() the probability of an intervention being
‘best’ was the most cost-effective one calculated using
compute_p_optimal_best(). However, this is not actually how
this is defined in the literature for the cost-effectiveness
acceptability frontier (CEAF). Is should be calculated as the
probability that the best intervention is the ‘optimal’ one, that is the
one on average using the mean cost and mean effectiveness. We’re
replaced this internal with compute_p_optimal_best(). In
most cases this will make very little difference but when the cost or
effectiveness are (highly) skewed they may deviate (a0b9ed6).
Many changes to the plotly infrastracture, which are
helpful for BCEAweb (a565620).
Reformatting of the example datasets (daa2494).
Aligns examples and code with newer version of
ggplot2 (c1e0aac).
January 2025
ceplane.plot() for {ggplot2} version
used the ggplot syntax thats already used for other plotting arguments
so that we can now pass,
e.g. wtp = list(value = 20000, colour = "blue", x = 10, y = 10, size = 4).
This closes issue #151 so can do something like
wtp = list(size = 0) to hide the willingness to pay text.
(3d8a770)ggplot version legend to take a vertical or
horizontal part to the pos argument (85ba87f).ceplane.plot() and ceac plot relative font
size argument rel fixed (8d1586f).eib_plot and evi_plot text size
ggplot argument added (1e32788) and (84aaa2f).ceplane.plot() now haslabel.pos logical
argument fixed for ggplot (92e9eb0) and base R
(c7351e4).February 2024
Patch fixing small bugs from last CRAN release.
{voi} package to Suggests in DESCRIPTION and
added requireNamespace() in evppi() to avoid
error when not installed (e.g. on CRAN) (f3e3e3e)man-roxygen folder to
md (cf858b1){ggplot2} changed in
version 3 to linewidth from size argument and
had only changed some of the code. Updated to
scale_linewidth_manual(). (60bea9c)testdata folder {testthat} unit
tests. (cbce0fa)November 2023
Some cosmetic changes to clean up.
Remotes in the DESCRIPTION
file to point to the correct GitHub repos for voi and
plotrixsmoking_output to be
used in the evppi example avoiding the need for
rjagsOctober 2023
Moved internal EVPPI calculation out of BCEA and now
uses voi package instead. Refactoring but retaining same
interface and functionality.
{voi} which has a
patch so that BCEA can use it without losing functionality
{voi} needed when we use
check = TRUE in voi::evppi() in order to
access fitting data (6e436b5, 94f5fc5)evppi() tested against all use cases in BCEA book
(1c1457d2)evppi() (f2e4d005)voi package for
methods sal and so (#140)evppi() matching output of old evppi()
(1e2c5e7)voi needed when we use
check = TRUE in voi::evppi() in order to
access fitting data (6e436b5, 94f5fc5)INLA package to be available inside
of BCEA so can remove direct dependency. This helps with
passing CRAN checks and GitHub Actions ()June 2023
{MCMCvis} wasn’t used conditionally in unit test. Moved to
Required packages in DESCRIPTION.May 2023
plot.bcea() (cf1ee43)make.report() change variable name (f940f2e)summary.bcea() now only prints results for chosen
comparisons and not always all of them. kstar and
best in bcea() object were not updated with
subset of interventions (#125)withr::with_par() used in plotting function
plot.bcea() to only temporarily change graphics parameters.
(725c536)@md and markdown syntax in function
documentationpsa.struct() to add the absolute value in the
formula to compute the weights (1cea278)dplyr piping new syntax from .data$*
to simply using speech marks "*" (2b280ad)August 2022
summary.bcea() wasn’t passing wtp argument
to sim_table() internally (5440eb3)summary() was the same for basic bcea and
multi.ce objects. Now has own
summary.pairwise() method. (88ade51)struct.psa() output now works with
summary() and plots all still work without having to use $
to get at bcea object as before. (b014c83)wtp argument in bcea() to
k because wtp in the plotting functions refers
to the wtp line and so is a scalar whereas k is a grid of
points. Added an error message to use new argument. (b014c83)bcea() still allows a scalar k but added a
warning that this will give empty plots.r-lib/Actions version 2. There was an error with not
finding INLA but this was solved by Gabor at RStudio (see thread here
https://community.rstudio.com/t/not-finding-inla-package-not-on-cran-in-actions/141398)GrassmannOptim() function inside of package with
acknowledgement.Rdpack for bibliography in documentation
(229c96d)Smoking and
Vaccine data sets have been renamed from c and
e to cost and eff. This is to
avoid any conflict with the c() function.ref_first
argument (cc38f07)ceplane.plot() and
ceac.plot() ggplot2 versions (6808aa6)ceplane.plot() of
icer_annot to annotate each of the ICER points with the
text label of the intervention name. Only for ggplot2 at
the moment. (a7b4beb)pos argument to contour2() so that
its consistent with contour() and
ceplane.plot(). (50f8f8b)ref argument by name as well as index in
bcea(). (9eab459)April 2022
ceplane_ggplot() missing legendevppi()ceplane.plot()ceplane_plot_base() wasn’t showing grey area. Fixed by
removing alpha transparencyceac.plot() wasn’t showing confidence interval by
default for one comparisoncompute_vi()setReferenceGroup() for CEAC plot legend error; doesn’t
use supplied names but generic intervention 1, intervention 2, …
(#82)multi.ce() line for reference group (#80)cli package for warning messagesggplot2 format style
arguments e.g. as list
ceac.plot()) to take more style
arguments than before for e.g. colour of lines, types of points and line
thickness.ceplane.plot() code in
contour()goodpractice package suggested changes
seq_len(), remove ;contour2() changed so xlim,
ylim arguments are optional; the same as
ceplane.plot() since they are passes to itcontour() and ceplane.plot() vignettes
writtenOct 2021
bcea() is now a helper function which calls the
constructor new_bcea(), separating concerns.new_bcea() composed of smaller HEE statistics functions
with names starting with compute_*
e.g. compute_CEAC(), compute_EIB(),…. This
allows us to call and test them individually. It also allows more
flexibility in changing or adding functionality to
new_bcea().ceplane_plot_ggplot(), are also split into parameter
and data setting and plotting components. This modulisation allows us to
add new layers to plots or modify existing parameter sets and defaults.
We could also return the data without the plotting step as in
e.g. ggplot2::autoplot(). It also means we can reuse some
functionality across plots such as axes and legend setting
e.g. BCEA:::where_legend().ceac_plot() changes
mce.plot(). Now dispatched on
ceac.plot() for both multi.ce() and
bcea() outputs.bcea type
object.summary() and
sim_table() removed.createInputs() used for EVPI calculation now dispatches
S3 methods by JAGS, BUGS, Stan and other R data types.make.report() rewritten to have separate section
files.bcea() construction or
separately using a setter functions setComparisons().setKmax() and setReferenceGroup(),
respectively.multi.ce() and CEriskAv() also now work
similarly. They operate by modifying the bcea object,
rather than creating new one (think decorator pattern).bcea() methods for JAGS, WinBUGS, Stan (#76)NEWS.md file to track changes to the package.
Details about previous releases, such as dates, versions, fixes and
enhancements obtained from CRAN and code comments so a little
patchy.pkgdown GitHub site made.26 Aug 2019
5 Aug 2019
11 July 2018
evppi to allow N to be selected in
all methodsdiag.evppi18 Nov 2016
Nov 2016
legend.spacing() and
plot.title hjust argument)22 May 2016
info.rank25 Jan 2016
ceef.plot to align with ggplot2
v2.0.0Oct 2015
Oct 2015
EVPPI function polished up6 May 2015 2015
xlim & ylim in the
ceplane.plot(), contour() and
contour2() functionsbcea for a scalar wtpevppi() function and method has been renamed
evppi0, which means there’s also a new
plot.evppi0 method13 Jan 2015
if (require()) to
if (requireNamespace(,quietly=TRUE))ceef.plot functionOct 2014
ceef.plot, createInputs,
struct.psa13 Jan 2015
ceef.plot function included,
additional modifications2 Dec 2013
2 Dec 2013
ceac.plot and eib.plot: option comparison
included for base graphics2 Dec 2013
31 July 2013
30 July 2013
CreateInputs(), which takes as input an object
in the class rjags or bugsevppi()evppi and show the overall EVPI with the EVPPI for
the selected parameter(s)3 July 2013
17 September 2012
22 Feb 2013
15 Sept 2012
13 May 2012