Skip to content

Releases: tidymodels/broom

broom 1.0.9

28 Jul 16:07
5619a88
Compare
Choose a tag to compare
  • Increased minimum required R verison to 4.1.

  • Resolved errors with the 2.0.85 update of the epiR package.

broom 1.0.8

28 Mar 13:34
76f98a9
Compare
Choose a tag to compare

Deprecations

  • Removed tidiers for objects from the orcutt package as it was archived from
    CRAN 4 months prior to the package release.

Minor Improvements

  • tidy.coeftest now returns non-NA values for conf.low and conf.high for
    a model fitted with only a constant term and cluster robust std errors
    computed using vcovCL from sandwich (#1227).

  • Added support for new column name in lme4 ANOVA output. (lme4 tidiers are
    technically supplied by broom.mixed, but intermediate output is routed through
    broom's tidy.anova() method) (#1239).

Miscellaneous

  • Various improvements to infrastructure and testing:
    • Migrated all messages, warnings, and errors to use the cli package (#1230).
    • Aligned names of source and test files (#1229).
    • Transitioned to the third edition of testthat (#1228).

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