NEWS
statuser 0.3.0 (2026-05-20)
New functions
- Added
stimulus.plot() for stimulus plots in matched/treated-stimulus designs (means and effects plots with null resampling).
- Added
stimulus.beeswarm() for compared-stimulus designs.
- Added
clear_stimulus_cache() to reset resampling cache used by stimulus plotting functions.
Improvements
t.test2(): now reports Cohen's d for two-sample independent tests (returned as d and printed after sample sizes).
t.test2(): missing-value note no longer double-counts rows where the grouping variable is NA.
lm2(): explanatory notes are no longer printed with the regression table; they are stored when the model is printed and shown via the new lm2_notes() function. The print output ends with a reminder to run lm2_notes().
Deprecated
lm2() and print.lm2(): the notes argument is deprecated (ignored). Passing notes = TRUE or notes = FALSE emits a message directing users to lm2_notes().
statuser 0.2.1 (2026-04-25)
changes to pass CRAN inspection
plot_means(): removed the save.as argument (no longer saves plots to PNG/SVG).
t.test2(): documented S3 registration as t.test2 for base::t to avoid recurring CRAN S3 consistency notes while keeping direct t.test2(...) usage unchanged.
desc_var(): removed dependency on labelled; now relies on new function var_labels
New function
- Added
var_labels() to get/set these labels for vectors and data frames. This avoids depending on labelled
statuser 0.2.0
New functions
- Added
plot_means() for barplots of group means with confidence intervals, optional comparisons and interaction-style contrasts, up to three grouping variables in the formula, optional clustered standard errors, and saving to PNG or SVG.
- Added
interprobe() for probing interactions: simple slopes and Johnson–Neyman style marginal-effect curves for x × z, using GAM or linear models.
Improvements
plot_freq(): improved behavior when there are many distinct values; grouped plots support up to four levels of the grouping variable.
lm2(): mean column shows percentages for factor levels and factor×factor interactions as intended; baseline factor level row shows the percentage of observations like other levels.
desc_var(): when the response variable is missing, only the intended error is shown (no spurious “restarting interrupted promise evaluation” warning).
scatter.gam(): supports direct coordinates and formula syntax (including df$y ~ df$x); axis labels use short variable names for $ formulas; ylim and other ... arguments no longer conflict with internal plot arguments; small vertical buffer on the lower frequency panel.
- Messages that used
red4 now use red2 for readability in dark terminals (including messages from plot_freq(), plot_density(), plot_cdf(), clear(), twolines(), and exit()).
t.test2() performance improvements.
Bug fixes
desc_var() evaluates calls such as df$x correctly when data is not supplied, instead of mistakenly using a same-named object from the search path.
text2() applies vector arguments passed in ... (e.g. col) per label, fixing wrong colors when labels differ (notably for plot_means() value labels).
plot_cdf() restores only selected graphics parameters on exit (mar, mgp) so layouts using par(mfrow = ...) are not reset. Similar graphics-state cleanup was applied in other plotting functions where appropriate.
statuser 0.1.9 (2026-02-26)
plot_freq(), plot_density(), and plot_cdf(): optional comparison of two vectors (in addition to formula syntax); legend placed higher on the plot.
table2(): clearer dimension labels for expressions such as df$var > 10; very long labels are truncated.