  The concept of "tidy data" offers a powerful framework for structuring data
to ease manipulation, modeling and visualization. However, most R functions,
both those built-in and those found in third-party packages, produce output
that is not tidy, and that is therefore difficult to reshape, recombine, and
otherwise manipulate. Here I introduce the broom package, which turns the
output of model objects into tidy data frames that are suited to further
analysis, manipulation, and visualization with input-tidy tools. Broom defines
the "tidy", "augment" and "glance" generics, which arrange a model into three
levels of tidy output respectively: the component level, the observation level,
and the model level. I provide examples to demonstrate how these generics work
with tidy tools to allow analysis and modeling of data that is divided into
subsets, to recombine results from bootstrap replicates, and to perform
simulations that investigate the effect of varying input parameters.
