# SimplifyStats

In many analyses, pairwise group comparisons or groupwise descriptive
statistics are produced for numerous variables. ‘SimplifyStats’ is an R
package consisting of a set of functions that simplify this process.

# Functions by category

## Groupwise descriptive
statistics

The function **group_summarize** accepts a data frame as
input and uses the names of user-specified columns of grouping variables
to partition the data. For each unique combination of interactions
between the grouping variables, univariate descriptive statistics are
computed for another set of user-specified columns of numeric
variables.

The specific statistics computed are: * Sample size (N) * Mean *
Standard deviation (StdDev) * Standard error (StdErr) * Minimum value
(Min) * First quartile value (Quartile1) * Median * Third quartile value
(Quartile3) * Maximum value (Max) * Proportion of missing values
(PropNA) * Kurtosis * Skewness * Jarque-Bera test P value
(Jarque-Bera_p.value) * Shapiro-Wilk test P value
(Shapiro-Wilk_p.value)

These values are returned in an object of class
*group_summary*, which holds the results and the input parameters
(excluding the input data frame). The results are stored in a list of
data frames where each element of the list is named according to the
variable for which statistics were computed. Additional parameters,
i.e. na.rm = TRUE, can be passed to *group_summarize*.

## Pairwise hypothesis testing

Like *group_summary*, the function
**pairwise_stats** accepts as input a data frame and the
names of user-specified columns of grouping variables. Unlike
*group_summary*, *pairwise_stats* can accept only one
numeric variable for analysis. Using a user-specified function, which
must accept as both its first and second argument a vector of values
corresponding to each group (i.e. t.test, wilcox.test, ks.test, or a
custom function f(a,b)), every combination of group comparisons are
made. In some cases the order in which these vectors are passed to the
function matters, i.e. when settting *alternative = “greater”* in
*t.test*. To account for this possiblity *two_way = TRUE*
can be passed to *group_summarize*. This will test all possible
pairs of unique grouping variable interactions in forward and reverse
order. With this function, all two sample hypothesis tests can be
quickly computed.