Broom Versions Save

Convert statistical analysis objects from R into tidy format

v1.0.5

10 months ago
  • tidy.coxph() will now pass its ellipses ... to summary() internally (#1151 by @ste-tuf).

  • Transitioned the deprecation of the region argument to tidy.SpatialPolygonsDataFrame from a warn- to a hard-deprecation (#1142).

  • Removed maptools and rgeos as Suggested packages ahead of their retirement. sp tidiers will be removed from a future release of the package (#1142).

  • Addressed bug in mlogit tidiers where augment.mlogit() would fail if supplied a model fitted with a non-default dfidx() (#1156 by @gregmacfarlane).

  • Addressed bug in ANOVA tidiers where tidy.anova() would fail if passed a model with many predictors (#1159 by @jwilliman).

  • Addressed warnings in ANOVA tidiers for unrecognized column names Resid..Df, Resid..Dev, and Deviance; those columns will be renamed df.residual, residual.deviance, and deviance, respectively (#1159 by @jwilliman).

v1.0.4

1 year ago
  • Added an intercept argument to tidy.aov(), a logical indicating whether to include information on the intercept as the first row of results (#1144 by @victor-vscn).
  • Moved forward with soft-deprecation of tidiers for objects from the sp package ahead of the retirement of the rgeos and maptools packages later this year. sp tidiers will be removed from a future release of the package (#1142).
  • Fixed bug in augment.glm() where the .std.resid column always contained standardized deviance residuals regardless of the value passed to the type.residuals argument (#1147).

v1.0.3

1 year ago
  • Addressed test failures on R-devel.
  • Fixed bug in tidy.multinom() where the conf.level argument would be ignored.

v1.0.2

1 year ago
  • Fixed a bug where augment() results would not include residuals when the response term included a function call (#1121, #946, #937, #124).
  • The default data argument for augment.coxph() and augment.survreg() has been transitioned from NULL to model.frame(x) (#1126 by @capnrefsmmat).
  • Migrated 'ggplot2' from strong to weak dependency, i.e. moved from Imports to Suggests.

v1.0.1

1 year ago
  • Improves performance of tidy.lm() and tidy.glm() for full-rank fits (#1112 by @capnrefsmmat). In some contexts, execution time is halved. With broom 1.0.0:
library(broom)

system.time(
  replicate(1000, tidy(lm(dist ~ speed, data = cars)))
)
#>    user  system elapsed 
#>   1.385   0.010   1.396

With this release:

system.time(
  replicate(1000, tidy(lm(dist ~ speed, data = cars)))
)
#>    user  system elapsed 
#>   0.626   0.011   0.638

Created on 2022-08-30 by the reprex package (v2.0.1)

  • Moves forward with deprecation of tidiers for sparse matrices outputted from the Matrix package, initially soft-deprecated in broom 0.5.0. The Matrix tidiers were light wrappers around coercion methods that will now be deprecated from Matrix itself in the upcoming 1.4-2 release. The affected methods are tidy.sparseMatrix(), tidy.dgCMatrix(), and tidy.dgTMatrix(). Note that tidy.confusionMatrix(), for relevant objects outputted from the caret package, is unaffected (#1113).
  • tidy.anova() works again with anova objects from the lme4 package (broken by addition of the terms column in the previous release)

v1.0.0

1 year ago

broom 1.0.0 is the first "production" release of the package, and includes a number of notable changes to both functionality and governance.

As of this release, the broom team will be following a set of guidelines that clarify the scope of further development on the package. Given the package's wide use and long history, these guidelines prioritize backward compatibility over internal consistency and completeness. You can read those guidelines here!

We've also made notable changes to error handling in this release:

  • Adds minimal ellipsis checking to warn on commonly misspecified arguments passed through ellipses. Notably:
    • tidy() methods will now warn when supplied an exponentiate argument if it will be ignored.
    • augment() methods will now warn when supplied a newdata argument if it will be ignored.
  • The warning regarding tidiers only maintained via dispatch to lm and glm is now displayed only once per session, per unique dispatch. That is, if a class_a object is tidied using a (g)lm method, broom will not warn when tidying class_a objects for the rest of the session, but if a class_b object is tidied using a (g)lm method in the same session, broom will warn again (#1101).

Other fixes and improvements:

  • Add exponentiate argument to tidy.boot() (#1039).
  • Update in tidy.htest() converting matrix-columns to vector-columns (#1081).
  • Address failures in tidy.glht() with conf.int = TRUE (#1103).
  • Address failures in tidy.zoo() when input data does not have colnames (#1080).
  • Transition tidiers for bivariate linear or spline-based interpolation---using list tidiers to interface with objects from the akima package is now considered off-label. See the interp package for a FOSS alternative.
  • Address failures in tidy.svyolr() when p.values = TRUE. Instead of aliasing tidy.polr() directly, tidy.svyolr() lightly wraps that method and warns if p.values is supplied (#1107).
  • Adds a term column and introduces support for car::lht() output in tidy.anova() (#1106 by @grantmcdermott).
  • Adds a dedicated glance.anova method (which previously dispatched to the
    deprecated glance.data.frame() tidier, #1106 by @grantmcdermott).

As always, thanks to the broom community for their contributions and feedback! 🧹

v0.8.0

2 years ago

This update makes significant improvements to documentation, fixes a number of bugs, and brings the development flow of the package up to date with other packages in the tidymodels.

In the big picture, this release:

  • Makes many improvements to documentation:
    • All tidiers now have example code demonstrating usage in their documentation. Tidiers for base packages as well as selected others also include sample code for visualization of results with ggplot2.
    • Code examples in the documentation largely now follow consistent style---these changes were made largely to reflect the tidyverse style guide, addressing spacing, object naming, and commenting, among other things.
    • Examples previously marked with \dontrun or \donttest have been workshopped to run reliably.
  • Clarifies errors and warnings for deprecated and un-maintained tidiers.
  • Ensures that tidiers are placed in files named according to the model-supplying package rather than the model object class for easier navigability of the source code.

Bug fixes and other improvements

  • Fix glance.fixest error when model includes only fixed effects and no regressors (#1018 by @arcruz0, #1088 by @vincentarelbundock).
  • Address excessive messaging from tidy.speedlm (#1084 by @cgoo4, #1087 by @vincentarelbundock).
  • Add nobs column to the output of glance.svyglm (#1085 by @fschaffner, #1086 by @vincentarelbundock).
  • Ensure tidy.prcomp description entries use consistent punctuation (#1072 by @PursuitOfDataScience).
  • Address breaking changes in glance.fixest and tidy.btergm.
  • Simplify handling of MASS::polr output in the corresponding tidy and augment methods.
  • Align continuous integration with current standards in tidymodels packages.

v0.7.11

2 years ago
  • Addressed issue with the ordering of original observations in augment.rqs. Now function preserves the original data.frame names also when the input data.frame only has one column (#1052 by @ilapros).
  • Addressed warning from tidy.rma when x$ddf has length greater than 1 (#1064 by @wviechtb).
  • Fix errors in glance.lavaan in anticipation of upcoming tidyr release (#1067 by @DavisVaughan).
  • Corrected the confidence interval in tidy.crr(). The tidy.crr(conf.level=) argument was previously ignored (#1068 by @ddsjoberg).

v0.7.10

2 years ago
  • Clarifies error when pysch::mediate output is dispatched to tidy.mediate (#1037 by @LukasWallrich).
  • Allows user to specify confidence level for tidy.rma (#1041 by @TarenSanders)
  • Clarifies documentation related to usage of augment_columns(); most package users should use augment() in favor of augment_columns(). See ?augment_columns for more details.
  • Extends support for emmeans by fixing non-standard column names in case of asymptotically derived inferential statistics. (#1046 by @crsh)
  • Fixes use of index columns in augment.mlogit and adds .resid column to output. (#1045, #1053, #1055, and #1056 by @jamesrrae and @gregmacfarlane)
  • Correct column naming of standard error measures in glance.survfit().
  • Various bug fixes and improvements to documentation.

v0.7.9

2 years ago
  • Fix confidence intervals in tidy.crr(), which were previously exponentiated when exponentiate = FALSE (#1023 by @leejasme)
  • Update ergm tidiers in anticipation of changes in later releases. (#1034 by @krivit)
  • Address breakages in lfe and Rchoice tidiers