- 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
trueand inbyor elsewhere (#48, thanks @mikesweeting); -
New options for zip plots: via the
zip_ci_colorsargument 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
ttdataset; -
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
.Rmdfiles), thanks to @remlapmot for reporting this (#36).
- Even if
power_dfwas passed to thecontrolargument, 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,
MIsim2andfrailty2, are now bundled withrsimsumto test the new functionality introduced above. They correspond toMIsimandfrailty, 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
dfhas been renamed topower_df, and now affects power calculations only.
-
New
dfargument,simsumandmultisimumnow accept a column indatacontaining 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
kablemethod for objects of classsimsum,summary.simsum,multisimsum,summary.multisimsumto ease the creation of LaTeX/HTML/Markdown/reStructuredText tables.
- Fixed a bug that prevented zip plots with only
byfactors from being plotted.
autoplotmethods will now plot the number of non-missing point estimates/SEs by default (if thestatargument 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
multisimsumexample in vignette on custom inputs.
- Fixed typo in vignette with formulae (#25, thanks @samperochkin).
-
Added new argument
zoomtoautoplotmethods: 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
trueargument ofrsimsumandmultisimsumnow 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.limitsargument 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"); -
rsimsumnow 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).
autoplotsupports 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 (
trueargument) is no longer required; iftrueis not passed tosimsumormultisimsum, bias, coverage, and mean squared error are not computed; -
Passing estimated standard errors per replication (
seargument) 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
rsimsum0.6.1 (average and median variances were not printed).
-
Fixed labelling bug in zipper plots (thanks to @syriop-elisa for reporting it);
-
Clarified that
simsumandmultisimsumreport 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
rlang0.4.0; -
Fixed missing details and options in the documentation of
autoplot.multisimsumandautoplot.summary.multisimsum.
- Fixed labelling when facetting for some plot types, now all defaults to
ggplot2::label_bothfor 'by' factors (when included).
- Fixed calculations for "Relative % increase in precision" (thanks to Ian R. White for reporting this).
- Implemented
autoplotmethod formultisimsumandsummary.multisimsumobjects; - Implemented heat plot types for both
simsumandmultisimsumobjects; - All
autoplotmethods pick the value oftruepassed tosimsum,multisimsumwhen 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
pkgdownwebsite, published at https://ellessenne.github.io/rsimsum/; - Improved code coverage.
- Fixed a bug in
autoplotcaused by premature slicing ofbyarguments, where nobyarguments 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.
rsimsumis more robust to using factor variables (e.g. asmethodvarorbyfactor), 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
simsumfor testing purposes - differences are negligible, and there are some calculations insimsumthat are wrong (already reported). Most differences can be attributed to calculations (and conversions, for comparison) on different scales.
- The syntax of
simsumandmultisimsumhas been slightly changed, with some arguments being removed and others being moved to acontrollist with several tuning parameters. Please check the updated examples for more details; dropbigis no longer an S3 method forsimsumandmultisimsumobjects. Now,dropbigis an exported function that can be used to identify rows of the inputdata.framethat 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 methodmisshas been removed; get_datais no longer an S3 method, but still requires an object of classsimsum,summary.simsum,multisimsum, orsummary.multisimsumto be passed as input;- All plotting methods have been removed in preparation of a complete overhaul planned for
rsimsum0.5.0.
- The
zipmethod has been renamed tozipper()to avoid name collision withutils::zip().
- Added ability to define custom confidence interval limits for calculating coverage via the
ci.limitsargument (#6, @MvanSmeden). This functionality is to be considered experimental, hence feedback would be much appreciated; - Updated Simulating a simulation study vignette and therefore the
relhazdataset 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
descriptionargument to eachget_datamethod, 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
checkmatepackage; - 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()coercemethodvarvariable 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
parargument oflolly.multisimsumis now not required; if not provided, plots will be faceted by estimand (as well as any otherbyfactor); - 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.