A toolbox for descriptive statistics, based on the computation of frequency and contingency tables. Several statistical functions and plot methods are provided to describe univariate or bivariate distributions of factors, integer series and numerical series either provided as individual values or as bins.
Descriptive statistics consist on presenting the distribution of series for a sample in tables (frequency table for one series, contingency tables for two series), ploting this distribution and computing some statistics that summarise it. descstat provides a complete toolbox to perform this tasks. It has been writen using some packages of the tidyverse (especially dplyr, tidyr and purrr) and its usage follow the tidyverse conventions, especially the selection of series using their unquoted names and the use of the pipe operator and of tibbles.
In a frequency (or contingency table), continuous numerical series are presented as bins. Moreover, for some surveys, the individual values are not known, but only the fact that these values belongs to a bin. Therefore, it is crucial to be able to work easily with bins, ie:
base::cut function which turns a numerical series to a bin,[10,20)
bin the lower bound (10), the upper bound (20), the center (15) or
whatever other value of the bin,[0,10), [10, 20), [20,30), [30,Inf) to [0,20), [20,Inf)these latter two tasks are performed using the new bin class
provided by this package and the accompanying as_numeric function
for the coercion to numeric and the cut method for bins
merging. Especially, coercing bins to their center values is the
basis of the computation of descripting statistics for bins.
The freq_table and cont_table are based on the dplyr::count
function but offer a much richer interface and performs easily
usual operations which are tedious to obtain with dplyr::count or
base::table functions. This includes:
A pre_plot function is provided to put the tibble in form in
order to use classic plots for univariate or bivariate
distributions. This includes histogram, frequency plot, pie chart,
cummulative plot and Lorenz curve. The final plot can then be
obtained using some geoms of ggplot2.
A full set of statistical functions (of central tendency,
dispersion, shape, concentration and covariation) are provided and
can be applied directly on objects of class freq_table or
cont_table. Some of them are methods of generics defined by the
base or stats package, some other are defined as methods for
generics function provided by the descstat function when the
corresponding R function is not generic. For example,
mean is generic, so that we wrote a
mean.freq_table method to compute directly the mean of a series
from a frequency table.
var is not generic, so that we provide the variance generic
and a method for freq_table objects.