View source: R/two-sample-test.R
| two_sample_test | R Documentation |
Parametric, non-parametric, robust, and Bayesian two-sample tests.
two_sample_test(
data,
x,
y,
subject.id = NULL,
type = "parametric",
paired = FALSE,
alternative = "two.sided",
digits = 2L,
conf.level = 0.95,
effsize.type = "g",
var.equal = FALSE,
bf.prior = 0.707,
tr = 0.2,
nboot = 100L,
exact = FALSE,
...
)
data |
A data frame (or a tibble) from which variables specified are to
be taken. Other data types (e.g., matrix, table, array, etc.) will not
be accepted. Additionally, grouped data frames from |
x |
The grouping (or independent) variable from |
y |
The response (or outcome or dependent) variable from |
subject.id |
Relevant in case of a repeated measures or within-subjects
design (i.e., |
type |
A character specifying the type of statistical approach:
You can specify just the initial letter (e.g. |
paired |
Logical that decides whether the experimental design is
repeated measures/within-subjects or between-subjects. The default is
|
alternative |
a character string specifying the alternative
hypothesis, must be one of |
digits |
Number of digits for rounding or significant figures. May also
be |
conf.level |
Scalar between |
effsize.type |
Type of effect size needed for parametric tests. The
argument can be |
var.equal |
a logical variable indicating whether to treat the
two variances as being equal. If |
bf.prior |
A number between |
tr |
Trim level for the mean when carrying out |
nboot |
Number of bootstrap samples for computing confidence interval
for the effect size (Default: |
exact |
A logical indicating whether you want exact p-values to be computed.
Relevant only when |
... |
Currently ignored. |
The returned object is a tibble data frame with the additional class
"statsExpressions". The exact set of columns depends on the test and, for
functions that accept a type argument, on the chosen analysis (parametric,
non-parametric, robust, or Bayesian). Any given call therefore returns some
(not all) of the columns below.
Hypothesis testing
statistic: the numeric value of a statistic
df and/or df.error: degrees of freedom for the test. A t-test
uses df.error, a chi-squared test uses df, and a parametric ANOVA
uses both (numerator df and denominator df.error)
p.value: the p-value associated with the observed statistic (two-sided
unless a one-sided alternative is requested, where supported)
method: the name of the inferential statistical test
Effect size estimation
effectsize: the name of the effect size
estimate: estimated value of the effect size
conf.level: the coverage level of the confidence/credible interval
(e.g. 0.95); the interval itself spans conf.low to conf.high
conf.low: lower bound for the effect size estimate
conf.high: upper bound for the effect size estimate
conf.method: method used to compute the confidence/credible interval
conf.distribution: statistical distribution for the effect
Bayesian analysis (only when type = "bayes")
bf10: Bayes factor for the alternative hypothesis relative to the null
log_e_bf10: natural logarithm of the Bayes factor (present for most, but
not all, Bayesian analyses)
prior.distribution, prior.scale, prior.location: prior specification
used to compute the Bayes factor and posterior estimates
Pairwise comparisons (for pairwise_comparisons() and
pairwise_contingency_table())
group1, group2: the two levels being compared
p.adjust.method: the adjustment method used for multiple comparisons
p.value.adj: the adjusted p-value; returned by
pairwise_contingency_table(). Note that pairwise_comparisons() instead
folds the adjusted value into p.value (and does not return a separate
p.value.adj column)
Common columns
n.obs: sample size used for the analysis: observations for unpaired
tests, complete subjects/pairs for paired two-sample tests and ANOVAs,
or studies for meta-analysis
expression: a list-column of pre-formatted
plotmath expressions; each
element is a language object (not a character string) containing the
statistical details, ready to be used in {ggplot2} (e.g. in labs() or
annotate())
For a per-function, column-by-column breakdown of the output (and an explanation
of the internal add_expression_col() engine that builds the expression
column), see the Return value schema
article. For more examples, see the data frame output vignette.
The table below provides summary about:
statistical test carried out for inferential statistics
type of effect size estimate and a measure of uncertainty for this estimate
functions used internally to compute these details
Hypothesis testing
| Type | No. of groups | Test | Function used |
| Parametric | 2 | Student's or Welch's t-test | stats::t.test() |
| Non-parametric | 2 | Mann-Whitney U test | stats::wilcox.test() |
| Robust | 2 | Yuen's test for trimmed means | WRS2::yuen() |
| Bayesian | 2 | Student's t-test | BayesFactor::ttestBF() |
Effect size estimation
| Type | No. of groups | Effect size | CI available? | Function used |
| Parametric | 2 | Cohen's d, Hedges' g | Yes | effectsize::cohens_d(), effectsize::hedges_g() |
| Non-parametric | 2 | r (rank-biserial correlation) | Yes | effectsize::rank_biserial() |
| Robust | 2 | Algina-Keselman-Penfield robust standardized difference | Yes | WRS2::akp.effect() |
| Bayesian | 2 | difference | Yes | bayestestR::describe_posterior() |
Paired data: See complete_subjects() for subject matching, duplicate
observations, and removal of incomplete subjects.
Hypothesis testing
| Type | No. of groups | Test | Function used |
| Parametric | 2 | Student's t-test | stats::t.test() |
| Non-parametric | 2 | Wilcoxon signed-rank test | stats::wilcox.test() |
| Robust | 2 | Yuen's test on trimmed means for dependent samples | WRS2::yuend() |
| Bayesian | 2 | Student's t-test | BayesFactor::ttestBF() |
Effect size estimation
| Type | No. of groups | Effect size | CI available? | Function used |
| Parametric | 2 | Cohen's d, Hedges' g | Yes | effectsize::cohens_d(), effectsize::hedges_g() |
| Non-parametric | 2 | r (rank-biserial correlation) | Yes | effectsize::rank_biserial() |
| Robust | 2 | Algina-Keselman-Penfield robust standardized difference | Yes | WRS2::wmcpAKP() |
| Bayesian | 2 | difference | Yes | bayestestR::describe_posterior() |
Patil, I., (2021). statsExpressions: R Package for Tidy Dataframes and Expressions with Statistical Details. Journal of Open Source Software, 6(61), 3236, https://doi.org/10.21105/joss.03236
# ----------------------- within-subjects -------------------------------------
# data
df <- dplyr::filter(bugs_long, condition %in% c("LDLF", "LDHF"))
# for reproducibility
set.seed(123)
# ----------------------- parametric ---------------------------------------
two_sample_test(
df,
condition,
desire,
subject.id = subject,
paired = TRUE,
type = "parametric"
)
# ----------------------- non-parametric -----------------------------------
two_sample_test(
df,
condition,
desire,
subject.id = subject,
paired = TRUE,
type = "nonparametric"
)
# ----------------------- robust --------------------------------------------
two_sample_test(
df,
condition,
desire,
subject.id = subject,
paired = TRUE,
type = "robust"
)
# ----------------------- Bayesian ---------------------------------------
two_sample_test(
df,
condition,
desire,
subject.id = subject,
paired = TRUE,
type = "bayes"
)
# ----------------------- between-subjects -------------------------------------
# for reproducibility
set.seed(123)
# ----------------------- parametric ---------------------------------------
# unequal variance
two_sample_test(ToothGrowth, supp, len, type = "parametric")
# equal variance
two_sample_test(ToothGrowth, supp, len, type = "parametric", var.equal = TRUE)
# biased (Cohen's d) effect size
two_sample_test(ToothGrowth, supp, len, type = "parametric", effsize.type = "d")
# ----------------------- non-parametric -----------------------------------
two_sample_test(ToothGrowth, supp, len, type = "nonparametric")
# ----------------------- robust --------------------------------------------
two_sample_test(ToothGrowth, supp, len, type = "robust")
# ----------------------- Bayesian ---------------------------------------
two_sample_test(ToothGrowth, supp, len, type = "bayes")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.