Convert statistical analysis objects from R into tidy format
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
).
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
).augment.glm()
where the .std.resid
column always contained standardized deviance residuals regardless of the value passed to the type.residuals
argument (#1147).tidy.multinom()
where the conf.level
argument would be ignored.augment()
results would not include residuals when the response term included a function call (#1121, #946, #937, #124).data
argument for augment.coxph()
and augment.survreg()
has been transitioned from NULL
to model.frame(x)
(#1126 by @capnrefsmmat
).Imports
to Suggests
.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)
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 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:
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.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:
exponentiate
argument to tidy.boot()
(#1039).tidy.htest()
converting matrix-columns to vector-columns (#1081).tidy.glht()
with conf.int = TRUE
(#1103).tidy.zoo()
when input data does not have colnames
(#1080).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).term
column and introduces support for car::lht()
output in
tidy.anova()
(#1106 by @grantmcdermott
).glance.anova
method (which previously dispatched to theglance.data.frame()
tidier, #1106 by @grantmcdermott
).As always, thanks to the broom community for their contributions and feedback! 🧹
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:
\dontrun
or \donttest
have been workshopped to run reliably.glance.fixest
error when model includes only fixed effects and no regressors (#1018
by @arcruz0
, #1088
by @vincentarelbundock
).tidy.speedlm
(#1084
by @cgoo4
, #1087
by @vincentarelbundock
).nobs
column to the output of glance.svyglm
(#1085
by @fschaffner
, #1086
by @vincentarelbundock
).tidy.prcomp
description entries use consistent punctuation (#1072
by @PursuitOfDataScience
).glance.fixest
and tidy.btergm
.MASS::polr
output in the corresponding tidy
and augment
methods.augment.rqs
. Now function preserves the original data.frame
names also when the input data.frame
only has one column (#1052
by @ilapros
).tidy.rma
when x$ddf
has length greater than 1 (#1064
by @wviechtb
).glance.lavaan
in anticipation of upcoming tidyr
release (#1067
by @DavisVaughan
).tidy.crr()
. The tidy.crr(conf.level=)
argument was previously ignored (#1068
by @ddsjoberg
).pysch::mediate
output is dispatched to tidy.mediate
(#1037
by @LukasWallrich
).tidy.rma
(#1041
by @TarenSanders
)augment_columns()
; most package users should use augment()
in favor of augment_columns()
. See ?augment_columns
for more details.emmeans
by fixing non-standard column names in case of asymptotically derived inferential statistics. (#1046
by @crsh
)augment.mlogit
and adds .resid
column to
output. (#1045
, #1053
, #1055
, and #1056
by @jamesrrae
and
@gregmacfarlane
)glance.survfit()
.tidy.crr()
, which were previously exponentiated when exponentiate = FALSE
(#1023
by @leejasme
)ergm
tidiers in anticipation of changes in later releases. (#1034
by @krivit
)lfe
and Rchoice
tidiers