two_sample_test {statsExpressions} | 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", k = 2L, conf.level = 0.95, effsize.type = "g", var.equal = FALSE, bf.prior = 0.707, tr = 0.2, nboot = 100L, ... )
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 |
k |
Number of digits after decimal point (should be an integer)
(Default: |
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. |
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
and df
: 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.
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, 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() |
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() |
# for reproducibility set.seed(123) library(statsExpressions) # parametric ------------------------------------- # between-subjects design two_sample_test( data = sleep, x = group, y = extra, type = "p" ) # within-subjects design two_sample_test( data = dplyr::filter(bugs_long, condition %in% c("HDHF", "HDLF")), x = condition, y = desire, paired = TRUE, subject.id = subject, type = "p" ) # non-parametric ---------------------------------- # between-subjects design two_sample_test( data = sleep, x = group, y = extra, type = "np" ) # within-subjects design two_sample_test( data = dplyr::filter(bugs_long, condition %in% c("HDHF", "HDLF")), x = condition, y = desire, paired = TRUE, subject.id = subject, type = "np" ) # robust ---------------------------------- # between-subjects design two_sample_test( data = sleep, x = group, y = extra, type = "r" ) # within-subjects design two_sample_test( data = dplyr::filter(bugs_long, condition %in% c("HDHF", "HDLF")), x = condition, y = desire, paired = TRUE, subject.id = subject, type = "r" ) #' # Bayesian ------------------------------ # between-subjects design two_sample_test( data = sleep, x = group, y = extra, type = "bayes" ) # within-subjects design two_sample_test( data = dplyr::filter(bugs_long, condition %in% c("HDHF", "HDLF")), x = condition, y = desire, paired = TRUE, subject.id = subject, type = "bayes" )