Last chance! 50% off unlimited learning
Sale ends in
Compute the rank-biserial correlation (
rank_biserial(
x,
y = NULL,
data = NULL,
mu = 0,
ci = 0.95,
alternative = "two.sided",
paired = FALSE,
verbose = TRUE,
...,
iterations
)cliffs_delta(
x,
y = NULL,
data = NULL,
mu = 0,
ci = 0.95,
alternative = "two.sided",
verbose = TRUE,
...
)
rank_epsilon_squared(
x,
groups,
data = NULL,
ci = 0.95,
alternative = "greater",
iterations = 200,
...
)
kendalls_w(
x,
groups,
blocks,
data = NULL,
ci = 0.95,
alternative = "greater",
iterations = 200,
verbose = TRUE,
...
)
Can be one of:
A numeric vector, or a character name of one in data
.
A formula in to form of DV ~ groups
(for rank_biserial()
and
rank_epsilon_squared()
) or DV ~ groups | blocks
(for kendalls_w()
;
See details for the blocks
and groups
terminology used here).
A list of vectors (for rank_epsilon_squared()
).
A matrix of blocks x groups
(for kendalls_w()
). See details for the
blocks
and groups
terminology used here.
An optional numeric vector of data values to compare to x
, or a
character name of one in data
. Ignored if x
is not a vector.
An optional data frame containing the variables.
a number indicating the value around which (a-)symmetry (for one-sample or paired samples) or shift (for independent samples) is to be estimated. See stats::wilcox.test.
Confidence Interval (CI) level
a character string specifying the alternative hypothesis;
Controls the type of CI returned: "two.sided"
(two-sided CI; default for
rank-biserial correlation and Cliff's delta), "greater"
(default for
rank epsilon squared and Kendall's W) or "less"
(one-sided CI). Partial
matching is allowed (e.g., "g"
, "l"
, "two"
...). See One-Sided CIs
in effectsize_CIs.
If TRUE
, the values of x
and y
are considered as paired.
This produces an effect size that is equivalent to the one-sample effect
size on x - y
.
Toggle warnings and messages on or off.
Arguments passed to or from other methods.
The number of bootstrap replicates for computing confidence
intervals. Only applies when ci
is not NULL
. (Deprecated for
rank_biserial()
).
A factor vector giving the group / block for the
corresponding elements of x
, or a character name of one in data
.
Ignored if x
is not a vector.
A data frame with the effect size (r_rank_biserial
,
rank_epsilon_squared
or Kendalls_W
) and its CI (CI_low
and
CI_high
).
Confidence intervals for the rank-biserial correlation (and Cliff's delta)
are estimated using the normal approximation (via Fisher's transformation).
Confidence intervals for rank Epsilon squared, and Kendall's W are
estimated using the bootstrap method (using the {boot}
package).
The rank-biserial correlation is appropriate for non-parametric tests of
differences - both for the one sample or paired samples case, that would
normally be tested with Wilcoxon's Signed Rank Test (giving the
matched-pairs rank-biserial correlation) and for two independent samples
case, that would normally be tested with Mann-Whitney's U Test (giving
Glass' rank-biserial correlation). See stats::wilcox.test. In both
cases, the correlation represents the difference between the proportion of
favorable and unfavorable pairs / signed ranks (Kerby, 2014). Values range
from -1
(all values of the second sample are larger than all the values
of the first sample) to +1
(all values of the second sample are smaller
than all the values of the first sample). Cliff's delta is an alias to
the rank-biserial correlation in the two sample case.
The rank epsilon squared is appropriate for non-parametric tests of differences between 2 or more samples (a rank based ANOVA). See stats::kruskal.test. Values range from 0 to 1, with larger values indicating larger differences between groups.
Kendall's W is appropriate for non-parametric tests of differences between
2 or more dependent samples (a rank based rmANOVA), where each group
(e.g.,
experimental condition) was measured for each block
(e.g., subject). This
measure is also common as a measure of reliability of the rankings of the
groups
between raters (blocks
). See stats::friedman.test. Values range
from 0 to 1, with larger values indicating larger differences between groups
/ higher agreement between raters.
When tied values occur, they are each given the average of the ranks that would have been given had no ties occurred. No other corrections have been implemented yet.
Cureton, E. E. (1956). Rank-biserial correlation. Psychometrika, 21(3), 287-290.
Glass, G. V. (1965). A ranking variable analogue of biserial correlation: Implications for short-cut item analysis. Journal of Educational Measurement, 2(1), 91-95.
Kendall, M.G. (1948) Rank correlation methods. London: Griffin.
Kerby, D. S. (2014). The simple difference formula: An approach to teaching nonparametric correlation. Comprehensive Psychology, 3, 11-IT.
King, B. M., & Minium, E. W. (2008). Statistical reasoning in the behavioral sciences. John Wiley & Sons Inc.
Cliff, N. (1993). Dominance statistics: Ordinal analyses to answer ordinal questions. Psychological bulletin, 114(3), 494.
Tomczak, M., & Tomczak, E. (2014). The need to report effect size estimates revisited. An overview of some recommended measures of effect size.
Other effect size indices:
cles()
,
cohens_d()
,
effectsize.BFBayesFactor()
,
eta_squared()
,
phi()
,
standardize_parameters()
# NOT RUN {
data(mtcars)
mtcars$am <- factor(mtcars$am)
mtcars$cyl <- factor(mtcars$cyl)
# Rank Biserial Correlation
# =========================
# Two Independent Samples ----------
(rb <- rank_biserial(mpg ~ am, data = mtcars))
# Same as:
# rank_biserial("mpg", "am", data = mtcars)
# rank_biserial(mtcars$mpg[mtcars$am=="0"], mtcars$mpg[mtcars$am=="1"])
# More options:
rank_biserial(mpg ~ am, data = mtcars, mu = -5)
print(rb, append_CLES = TRUE)
# One Sample ----------
rank_biserial(wt ~ 1, data = mtcars, mu = 3)
# same as:
# rank_biserial("wt", data = mtcars, mu = 3)
# rank_biserial(mtcars$wt, mu = 3)
# Paired Samples ----------
dat <- data.frame(Cond1 = c(1.83, 0.5, 1.62, 2.48, 1.68, 1.88, 1.55, 3.06, 1.3),
Cond2 = c(0.878, 0.647, 0.598, 2.05, 1.06, 1.29, 1.06, 3.14, 1.29))
(rb <- rank_biserial(Pair(Cond1, Cond2) ~ 1, data = dat, paired = TRUE))
# same as:
# rank_biserial(dat$Cond1, dat$Cond2, paired = TRUE)
interpret_rank_biserial(0.78)
interpret(rb, rules = "funder2019")
# Rank Epsilon Squared
# ====================
rank_epsilon_squared(mpg ~ cyl, data = mtcars)
# Kendall's W
# ===========
dat <- data.frame(cond = c("A", "B", "A", "B", "A", "B"),
ID = c("L", "L", "M", "M", "H", "H"),
y = c(44.56, 28.22, 24, 28.78, 24.56, 18.78))
(W <- kendalls_w(y ~ cond | ID, data = dat, verbose = FALSE))
interpret_kendalls_w(0.11)
interpret(W, rules = "landis1977")
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab