two_sample_test {statsExpressions} | R Documentation |
Two-sample tests
Description
Parametric, non-parametric, robust, and Bayesian two-sample tests.
Usage
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,
...
)
Arguments
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 ( |
type |
A character specifying the type of statistical approach:
You can specify just the initial letter. |
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: |
... |
Currently ignored. |
Value
The returned tibble data frame can contain some or all of the following columns (the exact columns will depend on the statistical test):
-
statistic
: the numeric value of a statistic -
df
: the numeric value of a parameter being modeled (often degrees of freedom for the test) -
df.error
anddf
: relevant only if the statistic in question has two degrees of freedom (e.g. anova) -
p.value
: the two-sided p-value associated with the observed statistic -
method
: the name of the inferential statistical test -
estimate
: estimated value of the effect size -
conf.low
: lower bound for the effect size estimate -
conf.high
: upper bound for the effect size estimate -
conf.level
: width of the confidence interval -
conf.method
: method used to compute confidence interval -
conf.distribution
: statistical distribution for the effect -
effectsize
: the name of the effect size -
n.obs
: number of observations -
expression
: pre-formatted expression containing statistical details
For examples, see data frame output vignette.
Two-sample tests
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
between-subjects
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, Hedge's 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() |
within-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, Hedge's 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() |
Citation
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
Examples
# ----------------------- 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)
# ----------------------- 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")