stby()
useNA
adds a group for missing values in
grouping variable(s); set to FALSE
to avoid the message displayed
when NA
s are detected.tb()
fct.to.chr
and recalculate
for freq()
tablesna.rm
deprecateddfSummary()
:
class
allows switching off class reporting in Variable
column.freq()
, ctable()
and dfSummary()
:
na.val
allows specifying a value / factor level that
is to be considered NA
. In turn, the value "(Missing)" is no longer
considered missing by default (using na.val = "(Missing)"
will yield the same results).freq()
, and in dfSummary()
when all values have a label.
Future versions will extend support to ctable()
.descr()
:
stats
parameter more flexible: keywords (all, fivenum, and
common) can be used in conjunction with statistics, to add or
remove them. stats= c("common", "n", "-pct.valid")
adds N to, and
excludes Pct. Valid from, common statistics.define_keywords()
now uses RStudio's api for dialogs.llabel()
wrapper added for label(x, all = TRUE)
In dfSummary()
:
help("st_options", "summarytools")
for examples)graph.magnif
should
resolve itInf
values no longer generate errorstmp.img.dir
can be left to NA
when style = "grid"
Dataf.rame.label
In descr()
:
headings=FALSE
(when using
stby()
or dplyr::group_by()
)In ctable()
:
prop="none"
with integer dataSelected heading elements can be totally omitted by one of two ways:
print()
or
view()
parameters (in ?print.summarytools
, refer to list of arguments
that can be used to override heading elements)define_keywords()
and setting the heading's label to empty
stringImproved functionality for customized terms / translations (see
vignette("introduction", "summarytools")
for details)
fix-valign.tex
is now in the includes directory for use with
R Markdown when creating pdf documents with dfSummary()
outputs -
see `vignette("rmarkdown", )
Navigation links and table of contents were added to introductory vignette, making it is easier to navigate
dfSummary()
:
dfSummary()
in Rmarkdown using method = "render"
,
it is possible to set tmp.img.dir = NA
. It must still be defined
(not as NA
) when method = "pander"
and style = "grid"
.stby()
or dpyr::group_by()
. Use keep.grp.vars = TRUE
to replicate
previous behavior.ctable()
and freq()
:
ctable.round.digits
was added to the list of st_options()
(there
is already a global round.digits
option, but it uses 2
as default,
while 1
is a more sensible value for ctable()
.print.summarytools()
now removes titles from headings when keyword
"title.function" is set to NA
or empty string.Version 0.9.8 is essentially the CRAN release of the 0.9.7 GitHub-Only release which saw gradual changes being implemented over the course of several months. See changes listed under 0.9.7 for changes since last CRAN release (0.9.6)
GitHub-only release - this was a constantly evolving version to be eventually released as 0.9.8 on CRAN when it reached maturity.
stview()
pointing to
summarytools::view()
. This avoids potential conflicts with
other packages using the more and more popular view()
function
(notably, tibble, part of the tidyverse family, defines
view()
as an alias for View()
)format()
internally, so that
using the following optional arguments with any core function or with
print()
or view()
will produce expected results:
st_options("lang")
) was displayeddescr()
and ctable()
column headings showing variable names<p>
tagdfSummary()
:
dfSummary()
tables would end up
nested in one anotherdescr()
:
order
argument that gives the option to display variables in
their order of appearance in the data or in a custom order (as opposed to
the default behavior which is to display them alphabetically sorted)freq()
, values for the order
argument are now singular (backward
compatibility is preserved for now)
st_options()
were added:
freq()
a whole data
frame, this number determines how many distinct values are allowed for
numerical variables. Above that number, the variable will be ignored)ctable()
:
dfSummary()
, fixed an issue arising when a very
large range of numeric values exists in a columnst_options(use.x11 = FALSE)
if encountering problemsRCurl::base64Encode()
function used to create ascii-encoded graphs in
html documents isn't used anymore; base64enc::base64encode()
is used insteadfreq.silent
was added to global optionsfreq()
used in conjunction with stby()
or
dplyr::group_by()
ctable()
used in conjunction with stby()
(but
not with dplyr::group_by()
)dfSummary()
:
summarytools::dfSummary()
(without loading the package) is now
possibledescr()
:
descr()
with stby()
, results are no longer assembled into a single
table if more than one grouping variables are usedstby()
with several grouping variablesgroup_by()
function as an alternative
to stby()
%$%
operator%>>%
operatorfreq()
recognizes factor level "(Missing)" from forcats::fct_explicit_na
as NA
'sfreq()
objects, collapse
boolean parameter has been added as an
experimental feature (must be set in the print()
method)stby()
or dplyr::group_by()
tb()
supports objects having several grouping variablestb()
has an added parameter "na.rm" for freq()
objectsdescr()
deals with empty vectors and invalid weightsfreq()
arising when using sampling weights while no
missing values were presenttb()
turns freq()
and descr()
outputs into "tidy" tibblesdefine_keywords()
allows defining translatable terms in GUI and
optionally save the results in a csv file (through Save File... dialog)use_custom_lang()
replaces useTranslations()
and triggers an
Open File... dialog when no argument is suppliedfreq()
:
cumul
allows turning on or off cumulative
proportionsrows
has been added; it allows subsetting
the output table either with a numeric vector, a character vector, or a
single search string (regular expression)ctable()
:
dfSummary()
, added content specific to email addresses: valid,
invalid, duplicatesbyst()
had to be dropped because of issues related to objects names;
only stby()
is accepted from now onuseTranslations()
has been replaced by use_custom_lang()
No changes (re-submission of 0.9.1 to CRAN)
For users updating solely from CRAN, this is a major update. Many changes were introduced since version 0.8.8 (versions 0.8.9 and 0.9.0 were released solely on GitHub). Please refer to the README file, the two vignettes and the information below for all the details.
stby()
, a summarytools-specific version of by()
, is
introduced. It is highly recommended that you use it instead of by()
;
its syntax is identical and it greatly simplifies the printing of the
generated objectsdfSummary()
:
example()
function to access themst_options(lang='fr')
gives access to French translations. Spanish ('es')
translations are also available.useTranslations()
(which in later versions becomes
use_custom_lang()
) allows using custom translationsdescr()
, the weight variable (when used) is automatically removed
from the list of variables to analyzedfSummary()
, images are processed using functions from the magick
package, improving the general layout of the output tablesdfSummary()
:
descr()
, the 'stats' parameter accepts values "common" and "fivenum"st_options()
, setting multiple options at once is now possible; all
options have their own parameter (the legacy way of setting options is still
supported)print()
or view()
-
refer to the print()
method's documentation to learn moreSpecial thanks to Paul Feitsma for his numerous suggestions.
dfSummary()
:
dfSummary()
where reported percentages could exceed
100% under specific circumstancesdfSummary()
when missing values were present along
with whole numbersdescr()
where group was not shown for the first
group when omitting headingsdfSummary()
:
%>%
) operatordescr()
, fixed a calculation error for coefficient of variation (cv)ctable()
html outputs, '<' and '>' are properly escaped when appearing
in row or column namesdfSummary()
:
dfSummary()
now use lubridate::as.period()
ctable()
, argument 'useNA' now correctly accepts value "no"dfSummary()
histograms changed
(from nclass.FD()
to nclass.Sturges()
)dfSummary()
with time objectsdfSummary()
when
"[1 other value]" was displayed; this actual value is now displayed insteadst_options()
freq()
: 'totals' and 'display.nas'descr()
, Q1 and Q3 were added; also, the order in the 'stats'
argument is now reflected in the output tabledfSummary()
:
print()
and view()
, argument 'html.table.class' is now called
'table.classes' and its usage is simplified (please refer to the
corresponding help files for detailsdfSummary()
lapply()
when used with freq()
dfSummary()
bar chartsdfSummary()
dfSummary()
dfSummary()
lapply()
to be used with freq()
by()
and with()
with descr()
, freq()
,
and ctable()
In dfSummary()
, parameter name 'display.labels' has been changed to
'labels.col' for consistency reasons. Also, see Notes for Version 0.6.9 about
the 'file' parameter.
GitHub-only release
dfSummary()
's last column now includes counts and percentages for both
valid and missing dataGitHub-only release
ctable()
for cross-tabulationsby()
and/or with()
:
variable names, labels and by-groups are now displayed correctlyview()
is now more than just a wrapper function for the print()
method;
it is the function to use when printing an object created with by()
print()
or view()
freq()
has an new parameter, 'order', allowing to order rows by count
rather than valuesdescr()
observations table has been improvedThe 'file' parameter must now be used with print()
or view()
; its
use with other functions is now deprecated.
dfSummary()
reports frequencies for character variablesprint()
method to suppress the footnote in HTML
outputsdfSummary()
which arose when number of factor levels
exceeded max.distinct.valuesmethod = "browser"
sends file path to browser for better
cross-platform compatibilityby()
GitHub-only release
descr()
now supports weightswhat.is()
has been simplifiedfreq()
now supports weights.view()
allows opening HTML tables in RStudio's Viewer
desc()
is renamed descr()
print.summarytools()
print.summarytools()
has argument 'method' that can be one of "pander",
"viewer", or "browser", the last two being used to display an HTML version
of the output, using Bootstrap's CSS (https://getbootstrap.com)unistats()
is now called desc()
frequencies()
is now called freq()
desc()
now accepts data frames as first argument; factors and character
columns will be ignoreddesc()
results tables can be transposedfreq()
returns a matrix-table rather than a listproperties()
was removed.Initial Release