Compute Skewness and (Excess) Kurtosis
skewness(x, na.rm = TRUE, type = "2", iterations = NULL, ...)kurtosis(x, na.rm = TRUE, type = "2", iterations = NULL, ...)
# S3 method for parameters_kurtosis
print(x, digits = 3, test = FALSE, ...)
# S3 method for parameters_skewness
print(x, digits = 3, test = FALSE, ...)
# S3 method for parameters_skewness
summary(object, test = FALSE, ...)
# S3 method for parameters_kurtosis
summary(object, test = FALSE, ...)
A numeric vector or data.frame.
Remove missing values.
Type of algorithm for computing skewness. May be one of 1
(or "1"
, "I"
or "classic"
), 2
(or "2"
, "II"
or "SPSS"
or "SAS"
) or 3
(or "3"
, "III"
or "Minitab"
). See 'Details'.
The number of bootstrap replicates for computing standard errors. If NULL
(default), parametric standard errors are computed. See 'Details'.
Arguments passed to or from other methods.
Number of decimal places.
Logical, if TRUE
, tests if skewness or kurtosis is significantly different from zero.
An object returned by skewness()
or kurtosis()
.
Values of skewness or kurtosis.
Symmetric distributions have a skewness
around zero, while
a negative skewness values indicates a "left-skewed" distribution, and a
positive skewness values indicates a "right-skewed" distribution. Examples
for the relationship of skewness and distributions are:
Normal distribution (and other symmetric distribution) has a skewness of 0
Half-normal distribution has a skewness just below 1
Exponential distribution has a skewness of 2
Lognormal distribution can have a skewness of any positive value, depending on its parameters
skewness()
supports three different methods for estimating skewness, as discussed in Joanes and Gill (1988):
Type "1" is the "classical" method, which is g1 = (sum((x - mean(x))^3) / n) / (sum((x - mean(x))^2) / n)^1.5
Type "2" first calculates the type-1 skewness, than adjusts the result: G1 = g1 * sqrt(n * (n - 1)) / (n - 2)
. This is what SAS and SPSS usually return
Type "3" first calculates the type-1 skewness, than adjusts the result: b1 = g1 * ((1 - 1 / n))^1.5
. This is what Minitab usually returns.
The kurtosis
is a measure of "tailedness" of a distribution. A distribution
with a kurtosis values of about zero is called "mesokurtic". A kurtosis value
larger than zero indicates a "leptokurtic" distribution with fatter tails.
A kurtosis value below zero indicates a "platykurtic" distribution with thinner
tails (https://en.wikipedia.org/wiki/Kurtosis).
kurtosis()
supports three different methods for estimating kurtosis, as discussed in Joanes and Gill (1988):
Type "1" is the "classical" method, which is g2 = n * sum((x - mean(x))^4) / (sum((x - mean(x))^2)^2) - 3
.
Type "2" first calculates the type-1 kurtosis, than adjusts the result: G2 = ((n + 1) * g2 + 6) * (n - 1)/((n - 2) * (n - 3))
. This is what SAS and SPSS usually return
Type "3" first calculates the type-1 kurtosis, than adjusts the result: b2 = (g2 + 3) * (1 - 1 / n)^2 - 3
. This is what Minitab usually returns.
It is recommended to compute empirical (bootstrapped) standard errors (via the iterations
argument) than relying on analytic standard errors (Wright & Herrington, 2011).
D. N. Joanes and C. A. Gill (1998). Comparing measures of sample skewness and kurtosis. The Statistician, 47, 183<U+2013>189.
Wright, D. B., & Herrington, J. A. (2011). Problematic standard errors and confidence intervals for skewness and kurtosis. Behavior research methods, 43(1), 8-17.
# NOT RUN {
skewness(rnorm(1000))
kurtosis(rnorm(1000))
# }
Run the code above in your browser using DataLab