- Fixed some documentation rendering issues.
-
Fixed issues with nested loop plot when the simulation design is not fully-factorial (#47, thanks @mikesweeting);
-
Fixed wrong calculations when the same column was used in
true
and inby
or elsewhere (#48, thanks @mikesweeting); -
New options for zip plots: via the
zip_ci_colors
argument it is possible to customise the colour of CI lines for coverage. More details are available on GitHub (#55) and in the documentation. -
Updated columns names for confidence intervals in the
tt
dataset; -
Updated documentation regarding column names that are not allowed when calling
simsum()
ormultisimsum()
. Internals of the package have been reworked accordingly, and more informative error messages are provided to the user.
-
A new performance measure, relative bias, can now be calculated along with its Monte Carlo error (#41). More details on the formulae are in the introductory vignette, which has been updated accordingly.
-
Fixed issues with
stat(level)
, which was deprecated in {ggplot2} 3.4.0 (#44). -
Fixed an error in the calculation of the Monte Carlo standard error for relative % error in ModSE (#45, thanks @LaurenSamuels for reporting this).
-
Several improvements to package documentation.
This is a minor release, with the following changes:
-
Updated hex sticker.
-
Updated maintainer e-mail.
- Fixed issues with overlapping/missing intervals in zip plots (#40, thanks @ge-li for reporting this).
-
Fixed conflicts with
tidy()
function from the {broom} package when both {broom} and {rsimsum} are loaded at the same time. This could lead to an error of this kind:#> Error: No tidy method recognized for this list.
Thanks to Theodosia Salika for reporting this.
-
The {pkgdown} website with the documentation has been updated to use Bootstrap 5 (and {pkgdown} ≥ 2.0.0). The new site can be found here: https://ellessenne.github.io/rsimsum/
-
Updated a DOI that was returning HTTP Error 503.
print.summary.simsum()
now return (invisibly) a list with each section of the output, e.g. by performance measure. This is useful for printing small sections of the output, e.g. usingkable()
(thanks @ge-li, see discussion in #22):This is implemented forlibrary(rsimsum) s2 <- simsum(data = relhaz, estvarname = "theta", true = -0.50, se = "se", methodvar = "model", by = c("baseline", "n")) out <- print(summary(s2, stats = "bias")) library(knitr) kable(out[[1]], caption = names(out)[1], align = "r")
print.summary.multisimsum()
as well, with an additional level of nesting (by parameter).
- Fixed some broken links to vignettes (introduced a bunch of time ago when renaming the
.Rmd
files), thanks to @remlapmot for reporting this (#36).
- Even if
power_df
was passed to thecontrol
argument, it was not used (regression introduced in {rsimsum} 0.9.0). Now fixed, thanks to @Kaladani (#33).
get_data()
is now deprecated in favour oftidy()
;get_data()
still works (and is fully tested), but now throws a warning and will be fully removed some time in the future.
-
simsum()
andmultisimsum()
now accept multiple column inputs that identify unique methods (see e.g. #24, #30). Internally, this combines the unique values from each column factorially using theinteraction()
function; then, methods are analysed and reported as such. Seevignette("E-custom-inputs", package = "rsimsum")
for some examples. -
Two new datasets,
MIsim2
andfrailty2
, are now bundled withrsimsum
to test the new functionality introduced above. They correspond toMIsim
andfrailty
, respectively, with the only difference being that the (single) column identifying methods is now split into two distinct columns.
-
Improved printing for simulation studies with 'non-standard' way of passing true values (see e.g. #28 on GitHub);
-
Fixed a typo in introductory vignette;
-
Some internal housekeeping.
- The control argument
df
has been renamed topower_df
, and now affects power calculations only.
-
New
df
argument,simsum
andmultisimum
now accept a column indata
containing a number of degrees of freedom that will be used to calculate confidence intervals for coverage (and bias-eliminated coverage) with t critical values (instead of normal-theory intervals, the default behaviour). Notably, zip plots behave accordingly when calculating and ranking confidence intervals; -
Calculations for zip plots are noticeably faster now;
-
Added a simple
kable
method for objects of classsimsum
,summary.simsum
,multisimsum
,summary.multisimsum
to ease the creation of LaTeX/HTML/Markdown/reStructuredText tables.
- Fixed a bug that prevented zip plots with only
by
factors from being plotted.
autoplot
methods will now plot the number of non-missing point estimates/SEs by default (if thestat
argument is not set by the user). The previous default was to plot bias, which might not always be available anymore sincersimsum 0.8.0
.
-
Handling more plotting edge cases, for instance when standard errors or true values are not available;
-
Improved
multisimsum
example in vignette on custom inputs.
- Fixed typo in vignette with formulae (#25, thanks @samperochkin).
-
Added new argument
zoom
toautoplot
methods: it is now possible to zoom on the top x% of a zip plot to improve readability; -
Added a new example dataset from a toy simulation study assessing the robustness of the t-test. See
?"tt"
for more details; -
The
true
argument ofrsimsum
andmultisimsum
now accepts a string that identifies a column indata
. This is especially useful in settings where the true value varies across replications, e.g. when it depends on characteristics of the simulated data. Seevignette("E-custom-inputs", package = "rsimsum")
for more details and examples; -
Analogously, the
ci.limits
argument now accepts a vector of strings that identifies lower and upper limits for custom-defined confidence intervals from columns indata
. Once again, more details are included invignette("E-custom-inputs", package = "rsimsum")
; -
rsimsum
now correctly usesinherits(obj, "someclass")
instead ofclass(obj) == "someclass"
(#20); -
Fixed bugs and errors that appeared when auto-plotting results of simulation studies with no methods being compared (#23).
autoplot
supports two new visualisations: contour plots and hexbin plots, for either point estimates or standard errors. They can be obtained by selecting the argumenttype = "est_density"
,type = "se_density"
,type = "est_hex"
, ortype = "se_hex"
.
-
Passing the true value of an estimand (
true
argument) is no longer required; iftrue
is not passed tosimsum
ormultisimsum
, bias, coverage, and mean squared error are not computed; -
Passing estimated standard errors per replication (
se
argument) is no longer required; if so, average and median variances, model-based standard errors, relative error, coverage probability, bias-eliminated coverage probability, power are not computed.
- Fixed bug introduced in
rsimsum
0.6.1 (average and median variances were not printed).
-
Fixed labelling bug in zipper plots (thanks to @syriop-elisa for reporting it);
-
Clarified that
simsum
andmultisimsum
report average (or median) estimated variances, not standard errors (thanks to Ian R. White for reporting this).
-
Implemented fully automated nested loop plots for simulation studies with several data-generating mechanisms:
autoplot(object, type = "nlp")
; -
Added
data("nlp", package = "rsimsum")
, a dataset from a simulation study with 150 data-generating. This is particularly useful to illustrate nested loop plots; -
Added a new vignette on nested loop plots;
-
Improved ordering of vignettes.
-
Updated unquoting for compatibility with
rlang
0.4.0; -
Fixed missing details and options in the documentation of
autoplot.multisimsum
andautoplot.summary.multisimsum
.
- Fixed labelling when facetting for some plot types, now all defaults to
ggplot2::label_both
for 'by' factors (when included).
- Fixed calculations for "Relative % increase in precision" (thanks to Ian R. White for reporting this).
- Implemented
autoplot
method formultisimsum
andsummary.multisimsum
objects; - Implemented heat plot types for both
simsum
andmultisimsum
objects; - All
autoplot
methods pick the value oftrue
passed tosimsum
,multisimsum
when inferring the target value ifstats = (thetamean, thetamedian)
andtarget = NULL
. In plain English, the true value of the estimand is picked as target value when plotting the mean (or median) of the estimated value; - Updated vignettes and references;
- Updated
pkgdown
website, published at https://ellessenne.github.io/rsimsum/; - Improved code coverage.
- Fixed a bug in
autoplot
caused by premature slicing ofby
arguments, where noby
arguments were included.
Implemented autoplot
method for simsum
and summary.simsum
objects; when calling autoplot
on summary.simsum
objects, confidence intervals based on Monte Carlo standard errors will be included as well (if sensible).
Supported plot types are:
- forest plot of estimated summary statistics;
- lolly plot of summary statistics;
- zip plot for coverage probability;
- scatter plot of methods-wise comparison (e.g. X vs Y) of point estimates and standard errors, per replication;
- same as the above, but implemented as a Bland-Altman type plot;
- ridgeline plot of estimates, standard errors to compare the distribution of estimates, standard errors by method.
Several options to customise the behaviour of autoplot
, see ?autoplot.simsum
and ?autoplot.summary.simsum
for further details.
Fixed a bug in dropbig
and related internal function that was returning standardised values instead of actual observed values.
rsimsum
0.4.0 is a large refactoring of rsimsum
.
There are several improvements and breaking changes, outlined below.
rsimsum
is more robust to using factor variables (e.g. asmethodvar
orby
factor), with ordering that will be preserved if defined in the dataset passed tosimsum
(ormultisimsum
);- Confidence intervals based on Monte Carlo standard errors can be now computed using quantiles from a t distribution; see
help(summary.simsum)
for more details; - Added comparison with results from Stata's
simsum
for testing purposes - differences are negligible, and there are some calculations insimsum
that are wrong (already reported). Most differences can be attributed to calculations (and conversions, for comparison) on different scales.
- The syntax of
simsum
andmultisimsum
has been slightly changed, with some arguments being removed and others being moved to acontrol
list with several tuning parameters. Please check the updated examples for more details; dropbig
is no longer an S3 method forsimsum
andmultisimsum
objects. Now,dropbig
is an exported function that can be used to identify rows of the inputdata.frame
that would be dropped bysimsum
(ormultisimsum
);- Point estimates and standard errors dropped by
simsum
(ormultisimsum
) whendropbig = TRUE)
are no longer included in the returned object; therefore, the S3 methodmiss
has been removed; get_data
is no longer an S3 method, but still requires an object of classsimsum
,summary.simsum
,multisimsum
, orsummary.multisimsum
to be passed as input;- All plotting methods have been removed in preparation of a complete overhaul planned for
rsimsum
0.5.0.
- The
zip
method has been renamed tozipper()
to avoid name collision withutils::zip()
.
- Added ability to define custom confidence interval limits for calculating coverage via the
ci.limits
argument (#6, @MvanSmeden). This functionality is to be considered experimental, hence feedback would be much appreciated; - Updated Simulating a simulation study vignette and therefore the
relhaz
dataset bundled withrsimsum
.
rsimsum
0.3.3 focuses on improving the documentation of the package.
Improvements:
- Improved printing of confidence intervals for summary statistics based on Monte Carlo standard errors;
- Added a
description
argument to eachget_data
method, to append a column with a description of each summary statistics exported; defaults toFALSE
; - Improved documentation and introductory vignette to clarify several points (#3, @lebebr01);
- Improved plotting vignette to document how to customise plots (#4, @lebebr01).
New:
- Added CITATION file with references to paper in JOSS.
rsimsum
0.3.2 is a small maintenance release:
- Merged pull request #1 from @mllg adapting to new version of the
checkmate
package; - Fixed a bug where automatic labels in
bar()
andforest()
were not selected properly.
Bug fixes:
bar()
,forest()
,lolly()
,heat()
now appropriately pick a discrete X (or Y) axis scale for methods (if defined) when the method variable is numeric;simsum()
andmultisimsum()
coercemethodvar
variable to string format (if specified and not already string);- fixed typos for empirical standard errors in documentation here and there.
Updated code of conduct (CONDUCT.md
) and contributing guidelines (CONTRIBUTING.md
).
Removed dependency on the tidyverse
package (thanks Mara Averick).
Bug fixes:
pattern()
now appropriately pick a discrete colour scale for methods (if defined) when the method variable is numeric.
New plots are supported:
forest()
, for forest plots;bar()
, for bar plots.
Changes to existing functionality:
- the
par
argument oflolly.multisimsum
is now not required; if not provided, plots will be faceted by estimand (as well as any otherby
factor); - updated Visualising results from rsimsum vignette.
Added CONTRIBUTING.md
and CONDUCT.md
.
Internal housekeeping.
Added S3 methods for simsum
and multisimsum
objects to visualise results:
lolly()
, for lolly plots;zip()
, for zip plots;heat()
, for heat plots;pattern()
, for scatter plots of estimates vs SEs.
Added a new vignette Visualising results from rsimsum to introduce the above-mentioned plots.
Added x
argument to simsum
and multisimsum
to include original dataset as a slot of the returned object.
Added a miss
function for obtaining basic information on missingness in simulation results. miss
has methods print
and get_data
.
First submission to CRAN. rsimsum
can handle:
- simulation studies with a single estimand
- simulation studies with multiple estimands
- simulation studies with multiple methods to compare
- simulation studies with multiple data-generating mechanisms (e.g. 'by' factors)
Summary statistics that can be computed are: bias, empirical standard error, mean squared error, percentage gain in precision relative to a reference method, model-based standard error, coverage, bias-corrected coverage, and power.
Monte Carlo standard errors for each summary statistic can be computed as well.