This function describes a distribution by a set of indices (e.g., measures of centrality, dispersion, range, skewness, kurtosis).

describe_distribution(x, ...)

# S3 method for numeric
describe_distribution(
x,
centrality = "mean",
dispersion = TRUE,
iqr = TRUE,
range = TRUE,
quartiles = FALSE,
ci = NULL,
iterations = 100,
threshold = 0.1,
verbose = TRUE,
...
)

# S3 method for factor
describe_distribution(x, dispersion = TRUE, range = TRUE, verbose = TRUE, ...)

# S3 method for data.frame
describe_distribution(
x,
centrality = "mean",
dispersion = TRUE,
iqr = TRUE,
range = TRUE,
quartiles = FALSE,
include_factors = FALSE,
ci = NULL,
iterations = 100,
threshold = 0.1,
verbose = TRUE,
...
)

Arguments

x A numeric vector. Additional arguments to be passed to or from methods. The point-estimates (centrality indices) to compute. Character (vector) or list with one or more of these options: "median", "mean", "MAP" or "all". Logical, if TRUE, computes indices of dispersion related to the estimate(s) (SD and MAD for mean and median, respectively). Logical, if TRUE, the interquartile range is calculated (based on stats::IQR(), using type = 6). Return the range (min and max). Return the first and third quartiles (25th and 75pth percentiles). Confidence Interval (CI) level. Default is NULL, i.e. no confidence intervals are computed. If not NULL, confidence intervals are based on bootstrap replicates (see iterations). If centrality = "all", the bootstrapped confidence interval refers to the first centrality index (which is typically the median). The number of bootstrap replicates for computing confidence intervals. Only applies when ci is not NULL. For centrality = "trimmed" (i.e. trimmed mean), indicates the fraction (0 to 0.5) of observations to be trimmed from each end of the vector before the mean is computed. Toggle warnings and messages. Logical, if TRUE, factors are included in the output, however, only columns for range (first and last factor levels) as well as n and missing will contain information.

Value

A data frame with columns that describe the properties of the variables.

Note

There is also a plot()-method implemented in the see-package.

Examples

describe_distribution(rnorm(100))
#> Mean | SD | IQR |  Min | Max | Skewness | Kurtosis |   n | n_Missing
#> --------------------------------------------------------------------
#> 0.06 |  1 | 1.5 | -2.8 | 2.5 |    -0.36 |     0.11 | 100 |         0

data(iris)
describe_distribution(iris)
#> Variable     | Mean |   SD |  IQR | Min | Max | Skewness | Kurtosis |   n | n_Missing
#> -------------------------------------------------------------------------------------
#> Sepal.Length |  5.8 | 0.83 | 1.30 | 4.3 | 7.9 |     0.31 |    -0.55 | 150 |         0
#> Sepal.Width  |  3.1 | 0.44 | 0.52 | 2.0 | 4.4 |     0.32 |     0.23 | 150 |         0
#> Petal.Length |  3.8 | 1.77 | 3.52 | 1.0 | 6.9 |    -0.27 |    -1.40 | 150 |         0
#> Petal.Width  |  1.2 | 0.76 | 1.50 | 0.1 | 2.5 |    -0.10 |    -1.34 | 150 |         0
describe_distribution(iris, include_factors = TRUE, quartiles = TRUE)
#> Variable     | Mean |   SD |  IQR |    Min |       Max |  Q1 |  Q3 | Skewness | Kurtosis |   n | n_Missing
#> ----------------------------------------------------------------------------------------------------------
#> Sepal.Length |  5.8 | 0.83 | 1.30 |    4.3 |       7.9 | 5.1 | 6.4 |     0.31 |    -0.55 | 150 |         0
#> Sepal.Width  |  3.1 | 0.44 | 0.52 |      2 |       4.4 | 2.8 | 3.3 |     0.32 |     0.23 | 150 |         0
#> Petal.Length |  3.8 | 1.77 | 3.52 |      1 |       6.9 | 1.6 | 5.1 |    -0.27 |    -1.40 | 150 |         0
#> Petal.Width  |  1.2 | 0.76 | 1.50 |    0.1 |       2.5 | 0.3 | 1.8 |    -0.10 |    -1.34 | 150 |         0
#> Species      |   NA |   NA |   NA | setosa | virginica |  NA |  NA |     0.00 |    -1.51 | 150 |         0