Skip to content

Releases: tidymodels/broom

broom 1.0.7

27 Sep 01:15
30265ca
Compare
Choose a tag to compare
  • Corrected nobs entries in glance.coxph() output: the package used to
    return length(object$linear.predictors) (equal to n rather than nevent)
    and now uses survival's method (#1224).

  • Corrected confidence interval values in tidy.boot() and addressed errors
    when bootstrapping confidence intervals for multiple terms (#1212).

  • Reverted deprecation of tidiers for objects from the margins package
    now that the package is back on CRAN (#1220).

  • Addressed failure in tidy.anova() ahead of upcoming car
    release (#1215).

  • Clarified documentation for a number of cases where dots were
    documented as unused but actually passed to internal functions
    (#1214).

  • Addressed error in augment.betareg() and augment.betamfx()
    with data = NULL and non-null newdata (#1216, #1218).

  • glance.lm() now returns non-NA values for statistic, p.value, and df
    for models fitted with a single predictor and no intercept (@jrob95, #1209).

broom 1.0.6

17 May 14:19
8cf97a4
Compare
Choose a tag to compare

New Features

  • Added support for conf.level in augment.lm() (#1191 by @zietzm).

  • Added support for columns adj.r.squared and npar in glance() method for objects outputted from mgcv::gam() (#1172).

Deprecations

  • Soft-deprecated tidiers for margins objects, as the package was archived from CRAN in April 2024. In the case that the package is back on CRAN before the next package release, broom will once again Suggest and test support for the package (#1200).

  • Moved forward with deprecation of tidiers for objects from the sp package. See resources linked in tidymodels/broom#1142 for more information on migration from retiring spatial packages.

Bug Fixes

  • While this broom release contains no changes to the tidy.survfit() method for objects from the survival package, the package has bumped the minimum required version for survival. Before survival 3.6-4, tidy.survfit() propagated "inconsistent" n.censor values from survival for multi-state models (#1195).

  • Corrected confidence interval values for precision components in tidy.betareg() output (#1169).

  • Fixed bug in tidier for car::linearHypothesis() output with long formulas (#1171).

  • Corrected coefficient values in tidy.varest() output (#1174).

broom 1.0.5

10 Jun 00:46
ccbc800
Compare
Choose a tag to compare
  • 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).

broom 1.0.4

13 Mar 12:32
1a66e35
Compare
Choose a tag to compare
  • 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).

broom 1.0.3

25 Jan 16:22
a891d86
Compare
Choose a tag to compare
  • Addressed test failures on R-devel.
  • Fixed bug in tidy.multinom() where the conf.level argument would be ignored.

broom 1.0.2

15 Dec 13:41
4a0098d
Compare
Choose a tag to compare
  • 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.

broom 1.0.1

29 Aug 20:57
e5ef678
Compare
Choose a tag to compare
  • 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)

broom 1.0.0

01 Jul 11:45
507cacd
Compare
Choose a tag to compare

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! 🧹

broom 0.8.0

13 Apr 16:01
08d7a0c
Compare
Choose a tag to compare

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.

broom 0.7.11

03 Jan 22:37
3ade67d
Compare
Choose a tag to compare
  • 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).