First CRAN submission. This release settles the public API before the package has any users to break, so it carries deliberate breaking changes.
plot_regr() is renamed
plot_regression(). Every other interactive/plot pair
already matched its gadget name; this was the last one that did not.
There is no deprecation shim — the package has never been
released.
interactive_matrix_inverse() drops the
_init suffix from its arguments: x1_init,
y1_init, x2_init, y2_init are now
x1, y1, x2, y2. They
now match plot_matrix_inverse(), so do.call()
works between them.
All eight interactive_*() gadgets return a new
reproduction object when you click Done. Previously
interactive_matrix_inverse() and
interactive_t_test() returned nothing at all, and
interactive_moderation_3d() returned the data frame while
discarding the viewing angles the gadget exists to set.
interactive_pca() no longer returns a two-element
list(points, pca); the points come back directly and the
prcomp result is attached as an attribute.
Every gadget prints the plot_*() call that
reproduces what was on screen when you click Done, with arguments still
at their defaults omitted. The returned object is a plain list
(settings-style gadgets) or a plain data frame (points-style gadgets),
so do.call(plot_fn, result), nrow(),
[ and passing the result straight back to the plot function
all work. See ?"compstatslib-reproduce".
Derived state that a user would not retype rides along as an
attribute rather than cluttering the printed call:
attr(result, "pca") from interactive_pca(),
attr(result, "vars") from
interactive_sampling().
interactive_t_test() accepts diff,
sd, n, alpha and
error_matrix seed arguments, so it can be launched
pre-configured like the other gadgets.
plot_regression(), plot_logit() and
plot_sampling() no longer leave the caller’s
par() settings modified, as CRAN Repository Policy
requires. The first two used to force par(family = "sans")
rather than restoring what the caller had set; all three now restore on
exit, including when the call errors part-way through.
plot_sampling() restores cex correctly.
Its saved value was captured by the same par() call that
set mfrow, and since mfrow resets
cex as a side effect, the value it saved was already
clobbered.
plot_matrix_inverse() labels its axes x
and y. It built its empty plotting region with
plot(NA, ...), which deparses its first argument into the
axis labels, so the axes read Index and
NA.
Every exported function now documents its return value and
carries runnable examples. Gadget examples use
if (interactive()) throughout and show the round trip from
gadget to plot function.
Package prose standardized on en-US spelling;
Language: en-US declared.
The README documented a visualize_inverse() function
that does not exist. Removed, and a section on reproducing an
interactive session added.
plot_scatter3d() and
interactive_scatter3d(): a 3D point cloud with runtime
column pickers, aspect / opacity / marker-size controls, and camera
capture so a specific rotation can be reproduced non-interactively.plot_moderation_3d() and
interactive_moderation_3d() for visualizing moderated
regression as a rotatable wireframe surface.plot_moderation_3d() supports multi-predictor models;
pass iv and mod to choose which two predictors
go on the plot axes.moderation_data teaching
dataset.